Control system and method for a mobile robot

ABSTRACT

A method of operating an exoskeleton system comprising: obtaining a set of sensor data from at least sensors associated with one or more actuator units; determining a maneuver state based at least in part on the set of sensor data; determining a configuration of the one or more actuator units based at least in part on the set of sensor data; generating one or more reference targets for the one or more actuator units based at least in part on the determined maneuver state; determining that the one or more actuator units is outside of a generated reference target one or more actuator units; and causing the one or more actuator units to be configured to be within the generated reference target for the one or more actuator units.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional of and claims priority to U.S. Provisional Patent Application No. 63/030,586, filed May 27, 2020, entitled “POWERED DEVICE FOR IMPROVED USER MOBILITY AND MEDICAL TREATMENT,” with attorney docket number 0110496-010PR0. This application is hereby incorporated herein by reference in its entirety and for all purposes.

This application is a non-provisional of and claims priority to U.S. Provisional Patent Application No. 63/058,825, filed Jul. 30, 2020, entitled “POWERED DEVICE TO BENEFIT A WEARER DURING TACTICAL APPLICATIONS,” with attorney docket number 0110496-011PR0. This application is hereby incorporated herein by reference in its entirety and for all purposes.

This application is also related to U.S. Non-Provisional Applications filed the same day as this application having attorney docket numbers 0110496-010US0, 0110496-012US0, 0110496-013US0, 0110496-015US0, 0110496-016US0, 0110496-017US0 respectively entitled “POWERED MEDICAL DEVICE AND METHODS FOR IMPROVED USER MOBILITY AND TREATMENT”, “FIT AND SUSPENSION SYSTEMS AND METHODS FOR A MOBILE ROBOT”, “BATTERY SYSTEMS AND METHODS FOR A MOBILE ROBOT”, “USER INTERFACE AND FEEDBACK SYSTEMS AND METHODS FOR A MOBILE ROBOT”, “DATA LOGGING AND THIRD-PARTY ADMINISTRATION OF A MOBILE ROBOT” and “MODULAR EXOSKELETON SYSTEMS AND METHODS” and having respective application numbers XX/YYY,ZZZ, XX/YYY,ZZZ, XX/YYY,ZZZ, XX/YYY,ZZZ, XX/YYY,ZZZ and XX/YYY,ZZZ, These applications are hereby incorporated herein by reference in their entirety and for all purposes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an example illustration of an embodiment of an exoskeleton system being worn by a user.

FIG. 2 is a front view of an embodiment of a leg actuation unit coupled to one leg of a user.

FIG. 3 is a side view of the leg actuation unit of FIG. 3 coupled to the leg of the user.

FIG. 4 is a perspective view of the leg actuation unit of FIGS. 3 and 4.

FIG. 5 is a block diagram illustrating an example embodiment of an exoskeleton system.

FIG. 6a illustrates a side view of a pneumatic actuator in a compressed configuration in accordance with one embodiment.

FIG. 6b illustrates a side view of the pneumatic actuator of FIG. 6a in an expanded configuration.

FIG. 7a illustrates a cross-sectional side view of a pneumatic actuator in a compressed configuration in accordance with another embodiment.

FIG. 7b illustrates a cross-sectional side view of the pneumatic actuator of FIG. 7a in an expanded configuration.

FIG. 8a illustrates a top view of a pneumatic actuator in a compressed configuration in accordance with another embodiment.

FIG. 8b illustrates a top view of the pneumatic actuator of FIG. 8a in an expanded configuration.

FIG. 9 illustrates a top view of a pneumatic actuator constraint rib in accordance with an embodiment.

FIG. 10a illustrates an example embodiment of a low-level control method.

FIG. 10b illustrates an example embodiment of a method for determining an intended maneuver state of a user wearing an exoskeleton system.

FIG. 11a illustrates an example embodiment of a method of generating a reference target.

FIG. 11b illustrates an embodiment of a method of generating coordinated reference targets for first and second leg actuator units.

FIG. 12a illustrates a cross-sectional view of a pneumatic actuator bellows in accordance with another embodiment.

FIG. 12b illustrates a side view of the pneumatic actuator of FIG. 12a in an expanded configuration showing the cross section of FIG. 12 a.

FIG. 13 illustrates an example planar material that is substantially inextensible along one or more plane axes of the planar material while being flexible in other directions.

It should be noted that the figures are not drawn to scale and that elements of similar structures or functions are generally represented by like reference numerals for illustrative purposes throughout the figures. It also should be noted that the figures are only intended to facilitate the description of the preferred embodiments. The figures do not illustrate every aspect of the described embodiments and do not limit the scope of the present disclosure.

DETAILED DESCRIPTION

The following disclosure also includes example embodiments of the design of novel exoskeleton devices. Various preferred embodiments include: a leg brace with integrated actuation, a mobile power source and a control unit that determines the output behavior of the device in real-time.

A component of an exoskeleton system that is present in various embodiments is a body-worn, lower-extremity brace that incorporates the ability to introduce torque to the user. One preferred embodiment of this component is a leg brace that is configured to support the knee of the user and includes actuation across the knee joint to provide assistance torques in the extension direction. This embodiment can connect to the user through a series of attachments including one on the boot, below the knee, and along the user's thigh. This preferred embodiment can include this type of leg brace on both legs of the user.

The present disclosure teaches example embodiments of a fluidic exoskeleton system that includes one or more adjustable fluidic actuators. Some preferred embodiments include a fluidic actuator that can be operated at various pressure levels with a large stroke length in a configuration that can be oriented with a joint on a human body.

Another component of various embodiments is control software and associated methods of operation. This software can be made up of a series of algorithms that interpret the sensor signals from the exoskeleton system to make decisions on how to best operate the exoskeleton system to provide the desired benefit to the user. The specific embodiments described below should not be used to imply a limit on the sensors that can be applied to such a system. While some embodiments may require specific information to guide decisions, it does not create an explicit set of sensors that a powered exoskeleton will require.

One aspect of control software and associated methods can be the operational control of a leg brace and the power supply components to provide a desired response. There can be various responsibilities of the operational control software. A first can be low level control which can be responsible for developing the baseline feedback required for operation of the leg brace and power supply. A second can be intent recognition which can be responsible for identifying the intended maneuvers of the user. A third can be reference generation, which can be responsible for selecting the desired forces and torques the exoskeleton system should generate to best assist the user. It should be noted that this example architecture for delineating the responsibilities of the operational control software is merely for descriptive purposes and in no way limits the specific software approach that can be deployed on the system.

A responsibility of various embodiments of operational control software is the low level control and communication of the system. This can be accomplished in a variety of methods as desired by or based at least in part on the specific joint and/or need of the user. In a preferred embodiment, the operational control is configured to provide a desired torque at the user's joint. In such an embodiment, the system can create low level feedback to achieve a desired joint torque as a function of the sensor feedback from the system. Various embodiments can include, but are not limited to, the following: current feedback, recorded behavior playback, position-based feedback, velocity-based feedback, feedforward responses, volume, pressure or mass feedback which controls a fluidic system to inject a desired volume, pressure or mass of fluid into an actuator, and the like.

Another responsibility of some embodiments of operational control software is the intent recognition of the user's intended behaviors. This portion of such operational control software can indicate any array of allowable behaviors that the specific embodiment is configured to account for. In one preferred embodiment, the operational control software is configured to identify two specific states: Walking, and Standing. In such an embodiment, to complete intent recognition, the software uses a combination of user inputs and sensor readings to identify when it is safe and appropriate to provide assistive actions to benefit the user during walking. In another embodiment, the operational control software is configured to identify a variety of states and their safe transitions including one or more of: sitting down, standing up, turning, walking, jogging, running, jumping, landing, standing, crouching, ascend stairs, descend stairs, squat, kneel, ascend ramp, descend ramp. Various embodiments can include any suitable combination of specific maneuver states and it is not to be assumed that the inclusion of any added states changes the behavior or responsibility of the operational control software to complete intent recognition.

Another responsibility for various embodiments of operational control software is the development of desired referenced behaviors for the exoskeleton system, including the specific joints providing assistance. Such a portion of the control software can tie together the identified maneuvers with the low level control. When the operational control software identifies an intended user maneuver, in some examples the software must generate reference behaviors that define the torques, forces, or positions desired by the actuators in the brace components. In one embodiment, the operational control software generates references to make the brace components at the knees simulate a mechanical spring at the knee. The operational control software can generate torque references at the knee joints that are a function of the knee joint angle. In another embodiment, the operational control software generates references to simulate a spring damper system. This approach, in some examples, can augment the first by adding in the mechanical forces correlated with a viscous damper on top of just a mechanical spring and can simulate the resulting forces of this system with the joint actuation. In yet another embodiment, the operational control software generates a mass reference to provide a constant standard mass of air into a pneumatic actuator. This can allow some embodiments of the pneumatic actuator to operate like a mechanical spring by maintaining a constant mass of air in the actuator regardless of the knee angle collected through sensor feedback.

In another embodiment, the operational control software operates to generate torques in a dual knee brace configuration such that the behavior is coordinated across the knee brace components. In one embodiment, the operational control software coordinates the behavior of the knee components to direct system torque towards the leg with the higher usage of the user's quadricep muscle. In this case, the system may operate independent of a spring model, but can be driven by an algorithm that takes into account anticipated muscle usage across both legs. For example, when going up a stair, the stance leg can remain weight bearing and can remain in need of assistance throughout the point of initial contact. The swing leg though may not want assistance despite the leg potentially being heavily bent during the swing portion of the step maneuver, however, once the swing leg has made contact with the ground the swing leg may benefit from added assistance where the user transfers their weight to the up step foot. At the same time the trailing stance leg can transition from high assistance to no assistance during its flight phase despite potentially little change in knee angles. In another embodiment, the operational control software evaluates the balance of the user while maneuvering and can direct torque in such a way to encourage the user to remain balanced by directing the knee assistance to the leg that is on the outside of the user's current base of support. Various embodiments can use but are not limited to kinematic estimates of posture, joint kinetic profile estimates, as well as observed estimates of body pose. Various other embodiments exist for methods to coordinate the reference generation; accordingly, methods are not restricted to two leg applications and can extend to apply on single leg configurations. It should also be noted that yet another embodiment can include a combination of various individual reference generation methods in a variety of matters which include but are not limited to a linear combination, a maneuver specific combination, or a non-linear combination.

In some cases where the operational control software is generating references through balancing various algorithmically generated references, it can be helpful to incorporate user preference to account for a variety of factors such as self-selected walking style or skill. In such a scenario, there can be factors used to combine or scale the parameters. In one embodiment, the user can provide input about the overall amount of torque desired which can be used by the operational control to scale the output torque reference up or down based on the requested input from the user. In another embodiment, the operational control software is blending two primary reference generation techniques: one reference focused on static assistance and one reference focused on leading the user into their upcoming behavior. In such a case, in some examples the user can select how much predictive assistance they want. By indicating a large amount of predictive assistance, the system can be very responsive and may be well aimed towards a highly mobile operator moving around a community setting. The user could also indicate a desire for a very low amount of predictive assistance, which can result in a much slower system performance which can be better tailored towards learning the system or operating in a home environment. Various embodiments can incorporate user intent in a variety of manners and the example embodiments presented above should not be interpreted as limiting in any way. Also, various embodiments can use user intent in a variety of manners including as a continuous unit, or as a discrete setting with only a few indicated values.

In some cases it is important for very specific maneuvers to have very unique device responses. These can be scenarios that are already accounted for in the operational control software responsibilities described above; however, they can be specific enough instances that the description can be benefited by itemizing these particular maneuvers. In one embodiment, the operational control software includes maneuver detection capabilities to identify a fall or stumble event. When a fall or stumble event is identified, in various examples the system can then generate the desired response. One embodiment generates a free reference where the knee brace component works to maintain zero torque on the knee joint throughout the fall or stumble. In another embodiment, the operational control software is configured to identify a walking maneuver. When the maneuver is identified, in various examples the software generates references to free the legs in an effort to provide no assistance but also not get in the user's way. Other embodiments may observe more phases of the walking gate to provide assistance during stance but not swing, or extend the assistance to provide a substantial benefit while going up ramps in the system. In another embodiment, the software will identify a sustained standing behavior and provide extension assistance at the user's knees to support the body during extended standing. Various embodiments can include any one of, none of, all of, or more than these maneuvers as required by or desirable for the specific application. It should be noted that the failure to individually callout a specific configuration of assisted maneuvers should not be taken as limiting of the previously discussed methods in any way. The itemized embodiments above are simply example embodiments that demonstrate the breadth that the previously described methods can be applied to.

In some embodiments it is beneficial for the operational control software to manipulate its control to account for a secondary objective in order to maximize device performance or user experience. In one embodiment, the software on a pneumatic system can provide an elevation aware control over a central compressor in an effort to account for the changing density of air at different elevations. The operational control software can identify that the system is operating at a higher elevation and provide more current to the compressor in order to maintain electrical power consumed by the compressor. In another embodiment, the system can monitor the ambient audible noise levels and vary the control behavior of the system to reduce the noise profile of the system.

In the case of a modular system, in some embodiments it can be desirable for the operational control software to operate with an understanding of which joints are operational within the system. In one embodiment of a modular dual knee system that can also operate in a single knee configuration, the software can generate references differently when in a two leg configuration and when in a single leg configuration. For example, such an embodiment can use a coordinated control approach to generate references where it is using inputs from both legs to determine the desired operation; however, in a single leg configuration the available sensor information may have changed so it may be desirable for the system in various examples to implement a different strategy. In various embodiments this can be done to maximize the performance of the system for the given configuration or account for variations in available sensor information.

Another consideration of the operational control software can be whether the user's needs are different between individual joints or legs. In such a scenario, it may be beneficial for the exoskeleton to change the torque references generated in each leg to tailor the experience for the user. One embodiment is that of a dual knee exoskeleton where a user has significant weakness issues in a single leg, but only minor weakness issues in the other leg. In this case, the system can include the ability for the system to scale down the output torques on the unaffected limb to best meet the needs of the user.

As discussed herein, an exoskeleton system 100 can be configured for various suitable uses. For example, FIGS. 1-3 illustrate an exoskeleton system 100 being used by a user. As shown in FIG. 1 the user 101 can wear the exoskeleton system 100 on both legs 102. FIGS. 2 and 3 illustrate a front and side view of an actuator unit 110 coupled to a leg 102 of a user 101 and FIG. 4 illustrates a side view of an actuator unit 110 not being worn by a user 101.

As shown in the example of FIG. 1, the exoskeleton system 100 can comprise a left and right leg actuator unit 110L, 110R that are respectively coupled to a left and right leg 102L, 102R of the user. In various embodiments, the left and right leg actuator units 110L, 110R can be substantially mirror images of each other.

As shown in FIGS. 1-4, leg actuator units 110 can include an upper arm 115 and a lower arm 120 that are rotatably coupled via a joint 125. A bellows actuator 130 extends between the upper arm 115 and lower arm 120. One or more sets of pneumatic lines 145 can be coupled to the bellows actuator 130 to introduce and/or remove fluid from the bellows actuator 130 to cause the bellows actuator 130 to expand and contract and to stiffen and soften, as discussed herein. A backpack 155 can be worn by the user 101 and can hold various components of the exoskeleton system 100 such as a fluid source, control system, a power source, and the like.

As shown in FIGS. 1-3, the leg actuator units 110L, 110R can be respectively coupled about the legs 102L, 102R of the user 101 with the joints 125 positioned at the knees 103L, 103R of the user 101 with the upper arms 115 of the leg actuator units 110L, 110R being coupled about the upper legs portions 104L, 104R of the user 101 via one or more couplers 150 (e.g., straps that surround the legs 102). The lower arms 120 of the leg actuator units 110L, 110R can be coupled about the lower leg portions 105L, 105R of the user 101 via one or more couplers 150.

The upper and lower arms 115, 120 of a leg actuator unit 110 can be coupled about the leg 102 of a user 101 in various suitable ways. For example, FIGS. 1-3 illustrates an example where the upper and lower arms 115, 120 and joint 125 of the leg actuator unit 110 are coupled along lateral faces (sides) of the top and bottom portions 104, 105 of the leg 102. As shown in the example of FIGS. 1-3, the upper arm 115 can be coupled to the upper leg portion 104 of a leg 102 above the knee 103 via two couplers 150 and the lower arm 120 can be coupled to the lower leg portion 105 of a leg 102 below the knee 103 via two couplers 150.

Specifically, upper arm 115 can be coupled to the upper leg portion 104 of the leg 102 above the knee 103 via a first set of couplers 250A that includes a first and second coupler 150A, 150B. The first and second couplers 150A, 150B can be joined by a rigid plate assembly 215 disposed on a lateral side of the upper leg portion 104 of the leg 102, with straps 151 of the first and second couplers 150A, 150B extending around the upper leg portion 104 of the leg 102. The upper arm 115 can be coupled to the plate assembly 215 on a lateral side of the upper leg portion 104 of the leg 102, which can transfer force generated by the upper arm 115 to the upper leg portion 104 of the leg 102.

The lower arm 120 can be coupled to the lower leg portion 105 of a leg 102 below the knee 103 via second set of couplers 250B that includes a third and fourth coupler 150C, 150D. A coupling branch unit 220 can extend from a distal end of, or be defined by a distal end of the lower arm 120. The coupling branch unit 220 can comprise a first branch 221 that extends from a lateral position on the lower leg portion 105 of the leg 102, curving upward and toward the anterior (front) of the lower leg portion 105 to a first attachment 222 on the anterior of the lower leg portion 105 below the knee 103, with the first attachment 222 joining the third coupler 150C and the first branch 221 of the coupling branch unit 220. The coupling branch unit 220 can comprise a second branch 223 that extends from a lateral position on the lower leg portion 105 of the leg 102, curving downward and toward the posterior (back) of the lower leg portion 105 to a second attachment 224 on the posterior of the lower leg portion 105 below the knee 103, with the second attachment 224 joining the fourth coupler 150D and the second branch 223 of the coupling branch unit 220.

As shown in the example of FIGS. 1-3, the fourth coupler 150D can be configured to surround and engage the boot 191 of a user. For example, the strap 151 of the fourth coupler 150D can be of a size that allows the fourth coupler 150D to surround the larger diameter of a boot 191 compared to the lower portion 105 of the leg 102 alone. Also, the length of the lower arm 120 and/or coupling branch unit 220 can be of a length sufficient for the fourth coupler 150D to be positioned over a boot 191 instead of being of a shorter length such that the fourth coupler 150D would surround a section of the lower portion 105 of the leg 102 above the boot 191 when the leg actuator unit 110 is worn by a user.

Attaching to the boot 191 can vary across various embodiments. In one embodiment, this attachment can be accomplished through a flexible strap that wraps around the circumference of boot 191 to affix the leg actuator unit 110 to the boot 191 with the desired amount of relative motion between the leg actuator unit 110 and the strap. Other embodiments can work to restrict various degrees of freedom while allowing the desired amount of relative motion between the leg actuator unit 110 and the boot 191 in other degrees of freedom. One such embodiment can include the use of a mechanical clip that connects to the back of the boot 191 that can provide a specific mechanical connection between the device and the boot 191. Various embodiments can include but are not limited to the designs listed previously, a mechanical bolted connection, a rigid strap, a magnetic connection, an electro-magnetic connection, an electromechanical connection, an insert into the user's boot, a rigid or flexible cable, or a connection directly to a 192.

Another aspect of the exoskeleton system 100 can be fit components used to secure the exoskeleton system 100 to the user 101. Since the function of the exoskeleton system 100 in various embodiments can rely heavily on the fit of the exoskeleton system 100 efficiently transmitting forces between the user 101 and the exoskeleton system 100 without the exoskeleton system 100 significantly drifting on the body 101 or creating discomfort, improving the fit of the exoskeleton system 100 and monitoring the fit of the exoskeleton system 100 to the user over time can be desirable for the overall function of the exoskeleton system 100 in some embodiments.

In various examples, different couplers 150 can be configured for different purposes, with some couplers 150 being primarily for the transmission of forces, with others being configured for secure attachment of the exoskeleton system 100 to the body 101. In one preferred embodiment for a single knee system, a coupler 150 that sits on the lower leg 105 of the user 101 (e.g., one or both of couplers 150C, 150D) can be intended to target body fit, and as a result, can remain flexible and compliant to conform to the body of the user 101. Alternatively, in this embodiment a coupler 150 that affixes to the front of the user's thigh on an upper portion 104 of the leg 102 (e.g., one or both of couplers 150A, 150B) can be intended to target power transmission needs and can have a stiffer attachment to the body than other couplers 150 (e.g., one or both of couplers 150C, 150D). Various embodiments can employ a variety of strapping or coupling configurations, and these embodiments can extend to include any variety of suitable straps, couplings, or the like, where two parallel sets of coupling configurations are meant to fill these different needs.

In some cases the design of the joint 125 can improve the fit of the exoskeleton system 100 on the user. In one embodiment, the joint 125 of a single knee leg actuator unit 110 can be designed to use a single pivot joint that has some deviations with the physiology of the knee joint. Another embodiment, uses a polycentric knee joint to better fit the motion of the human knee joint, which in some examples can be desirably paired with a very well fit leg actuator unit 110. Various embodiments of a joint 125 can include but are not limited to the example elements listed above, a ball and socket joint, a four bar linkage, and the like.

Some embodiments can include fit adjustments for anatomical variations in varus or valgus angles in the lower leg 105. One preferred embodiment includes an adjustment incorporated into a leg actuator unit 110 in the form of a cross strap that spans the joint of the knee 103 of the user 101, which can be tightened to provide a moment across the knee joint in the frontal plane which varies the nominal resting angle. Various embodiments can include but are not limited to the following: a strap that spans the joint 125 to vary the operating angle of the joint 125; a mechanical assembly including a screw that can be adjusted to vary the angle of the joint 125; mechanical inserts that can be added to the leg actuator unit 110 to discreetly change the default angle of the joint 125 for the user 101, and the like.

In various embodiments, the leg actuator unit 110 can be configured to remain suspended vertically on the leg 102 and remain appropriately positioned with the joint of the knee 103. In one embodiment, coupler 150 associated with a boot 191 (e.g., coupler 150D) can provide a vertical retention force for a leg actuator unit 110. Another embodiment uses a coupler 150 positioned on the lower leg 105 of the user 101 (e.g., one or both of couplers 150C, 150D) that exerts a vertical force on the leg actuator unit 110 by reacting on the calf of the user 101. Various embodiments can include but are not limited to the following: suspension forces transmitted through a coupler 150 on the boot (e.g., coupler 150D) or another embodiment of the boot attachment discussed previously; suspension forces transmitted through an electronic and/or fluidic cable assembly; suspension forces transmitted through a connection to a waist belt; suspension forces transmitted through a mechanical connection to a backpack 155 or other housing for the exoskeleton device 510 and/or pneumatic system 520 (see FIG. 5); suspension forces transmitted through straps or a harness to the shoulders of the user 101, and the like.

In various embodiments, a leg actuator unit 110 can be spaced apart from the leg 102 of the user with a limited number of attachments to the leg 102. For example, in some embodiments, the leg actuator unit 110 can consist or consist essentially of three attachments to the leg 102 of the user 101, namely via the first and second attachments 222, 224 and 215. In various embodiments, the couplings of the leg actuator unit 110 to the lower leg portion 105 can consist or consist essentially of a first and second attachment on the anterior and posterior of the lower leg portion 105. In various embodiments, the coupling of the leg actuator unit 110 to the upper leg portion 104 can consist or consist essentially of a single lateral coupling, which can be associated with one or more couplers 150 (e.g., two couplers 150A, 150B as shown in FIGS. 1-4). In various embodiments, such a configuration can be desirable based on the specific force-transfer for use during a subject activity. Accordingly, the number and positions of attachments or coupling to the leg 102 of the user 101 in various embodiments is not a simple design choice and can be specifically selected for one or more selected target user activities.

While specific embodiments of couplers 150 are illustrated herein, in further embodiments, such components discussed herein can be operably replaced by an alternative structure to produce the same functionality. For example, while straps, buckles, padding and the like are shown in various examples, further embodiments can include couplers 150 of various suitable types and with various suitable elements. For example, some embodiments can include Velcro hook-and-loop straps, or the like.

FIGS. 1-3 illustrate an example of an exoskeleton system 100 where the joint 125 is disposed laterally and adjacent to the knee 103 with a rotational axis of the joint 125 being disposed parallel to a rotational axis of the knee 103. In some embodiments, the rotational axis of the joint 125 can be coincident with the rotational axis of the knee 103. In some embodiments, a joint can be disposed on the anterior of the knee 103, posterior of the knee 103, inside of the knee 103, or the like.

In various embodiments, the joint structure 125 can constrain the bellows actuator 130 such that force created by actuator fluid pressure within the bellows actuator 130 can be directed about an instantaneous center (which may or may not be fixed in space). In some cases of a revolute or rotary joint, or a body sliding on a curved surface, this instantaneous center can coincide with the instantaneous center of rotation of the joint 125 or a curved surface. Forces created by a leg actuator unit 110 about a rotary joint 125 can be used to apply a moment about an instantaneous center as well as still be used to apply a directed force. In some cases of a prismatic or linear joint (e.g., a slide on a rail, or the like), the instantaneous center can be kinematically considered to be located at infinity, in which case the force directed about this infinite instantaneous center can be considered as a force directed along the axis of motion of the prismatic joint. In various embodiments, it can be sufficient for a rotary joint 125 to be constructed from a mechanical pivot mechanism. In such an embodiment, the joint 125 can have a fixed center of rotation that can be easy to define, and the bellows actuator 130 can move relative to the joint 125. In a further embodiment, it can be beneficial for the joint 125 to comprise a complex linkage that does not have a single fixed center of rotation. In yet another embodiment, the joint 125 can comprise a flexure design that does not have a fixed joint pivot. In still further embodiments, the joint 125 can comprise a structure, such as a human joint, robotic joint, or the like.

In various embodiments, leg actuator unit 110 (e.g., comprising bellows actuator 130, joint structure 125, and the like) can be integrated into a system to use the generated directed force of the leg actuator unit 110 to accomplish various tasks. In some examples, a leg actuator unit 110 can have one or more unique benefits when the leg actuator unit 110 is configured to assist the human body or is included into a powered exoskeleton system 100. In an example embodiment, the leg actuator unit 110 can be configured to assist the motion of a human user about the user's knee joint 103. To do so, in some examples, the instantaneous center of the leg actuator unit 110 can be designed to coincide or nearly coincide with the instantaneous center of rotation of the knee 103 of a user 101. In one example configuration, the leg actuator unit 110 can be positioned lateral to the knee joint 103 as shown in FIGS. 1-3. In various examples, the human knee joint 103 can function as (e.g., in addition to or in place of) the joint 125 of the leg actuator unit 110.

For clarity, example embodiments discussed herein should not be viewed as a limitation of the potential applications of the leg actuator unit 110 described within this disclosure. The leg actuator unit 110 can be used on other joints of the body including but not limited to one or more elbow, one or more hip, one or more finger, one or more ankle, spine, or neck. In some embodiments, the leg actuator unit 110 can be used in applications that are not on the human body such as in robotics, for general purpose actuation, animal exoskeletons, or the like.

Also, embodiments can be used for or adapted for various suitable applications such as tactical, medical, or labor applications, and the like. Examples of such applications can be found in U.S. patent application Ser. No. 15/823,523, filed Nov. 27, 2017 entitled “PNEUMATIC EXOMUSCLE SYSTEM AND METHOD” with attorney docket number 0110496-002US1 and U.S. patent application Ser. No. 15/953,296, filed Apr. 13, 2018 entitled “LEG EXOSKELETON SYSTEM AND METHOD” with attorney docket number 0110496-004US0, which are incorporated herein by reference.

Some embodiments can apply a configuration of a leg actuator unit 110 as described herein for linear actuation applications. In an example embodiment, the bellows actuator 130 can comprise a two-layer impermeable/inextensible construction, and one end of one or more constraining ribs can be fixed to the bellows actuator 130 at predetermined positions. The joint structure 125 in various embodiments can be configured as a series of slides on a pair of linear guide rails, where the remaining end of one or more constraining ribs is connected to a slide. The motion and force of the fluidic actuator can therefore be constrained and directed along the linear rail.

FIG. 5 is a block diagram of an example embodiment of an exoskeleton system 100 that includes an exoskeleton device 510 that is operably connected to a pneumatic system 520. While a pneumatic system 520 is used in the example of FIG. 5, further embodiments can include any suitable fluidic system or a pneumatic system 520 can be absent in some embodiments, such as where an exoskeleton system 100 is actuated by electric motors, or the like.

The exoskeleton device 510 in this example comprises a processor 511, a memory 512, one or more sensors 513 a communication unit 514, a user interface 515 and a power source 516. A plurality of actuators 130 are operably coupled to the pneumatic system 520 via respective pneumatic lines 145. The plurality of actuators 130 include a pair of knee-actuators 130L and 130R that are positioned on the right and left side of a body 100. For example, as discussed above, the example exoskeleton system 100 shown in FIG. 5 can comprise a left and right leg actuator unit 110L, 110R on respective sides of the body 101 as shown in FIGS. 1 and 2 with one or both of the exoskeleton device 510 and pneumatic system 520, or one or more components thereof, stored within or about a backpack 155 (see FIG. 1) or otherwise mounted, worn or held by a user 101.

Accordingly, in various embodiments, the exoskeleton system 100 can be a completely mobile and self-contained system that is configured to be powered and operate for an extended period of time without an external power source during various user activities. The size, weight and configuration of the actuator unit(s) 110, exoskeleton device 510 and pneumatic system 520 can therefore be configured in various embodiments for such mobile and self-contained operation.

In various embodiments, the example system 100 can be configured to move and/or enhance movement of the user 101 wearing the exoskeleton system 100. For example, the exoskeleton device 510 can provide instructions to the pneumatic system 520, which can selectively inflate and/or deflate the bellows actuators 130 via pneumatic lines 145. Such selective inflation and/or deflation of the bellows actuators 130 can move and/or support one or both legs 102 to generate and/or augment body motions such as walking, running, jumping, climbing, lifting, throwing, squatting, skiing or the like.

In some cases, the exoskeleton system 100 can be designed to support multiple configurations in a modular configuration. For example, one embodiment is a modular configuration that is designed to operate in either a single knee configuration or in a double knee configuration as a function of how many of the actuator units 110 are donned by the user 101. For example, the exoskeleton device 510 can determine how many actuator units 110 are coupled to the pneumatic system 520 and/or exoskeleton device 510 (e.g., on or two actuator units 110) and the exoskeleton device 510 can change operating capabilities based on the number of actuator units 110 detected.

In further embodiments, the pneumatic system 520 can be manually controlled, configured to apply a constant pressure, or operated in any other suitable manner. In some embodiments, such movements can be controlled and/or programmed by the user 101 that is wearing the exoskeleton system 100 or by another person. In some embodiments, the exoskeleton system 100 can be controlled by movement of the user 101. For example, the exoskeleton device 510 can sense that the user is walking and carrying a load and can provide a powered assist to the user via the actuators 130 to reduce the exertion associated with the load and walking. Similarly, where a user 101 wears the exoskeleton system 100, the exoskeleton system 100 can sense movements of the user 101 and can provide a powered assist to the user via the actuators 130 to enhance or provide an assist to the user while skiing.

Accordingly, in various embodiments, the exoskeleton system 130 can react automatically without direct user interaction. In further embodiments, movements can be controlled in real-time by user interface 515 such as a controller, joystick, voice control or thought control. Additionally, some movements can be pre-preprogrammed and selectively triggered (e.g., walk forward, sit, crouch) instead of being completely controlled. In some embodiments, movements can be controlled by generalized instructions (e.g. walk from point A to point B, pick up box from shelf A and move to shelf B).

The user interface 515 can allow the user 101 to control various aspects of the exoskeleton system 100 including powering the exoskeleton system 100 on and off; controlling movements of the exoskeleton system 100; configuring settings of the exoskeleton system 100, and the like. The user interface 515 can include various suitable input elements such as a touch screen, one or more buttons, audio input, and the like. The user interface 515 can be located in various suitable locations about the exoskeleton system 100. For example, in one embodiment, the user interface 515 can be disposed on a strap of a backpack 155, or the like. In some embodiments, the user interface can be defined by a user device such as smartphone, smart-watch, wearable device, or the like.

In various embodiments, the power source 516 can be a mobile power source that provides the operational power for the exoskeleton system 100. In one preferred embodiment, the power pack unit contains some or all of the pneumatic system 520 (e.g., a compressor) and/or power source (e.g., batteries) required for the continued operation of pneumatic actuation of the leg actuator units 110. The contents of such a power pack unit can be correlated to the specific actuation approach configured to be used in the specific embodiment. In some embodiments, the power pack unit will only contain batteries which can be the case in an electromechanically actuated system or a system where the pneumatic system 520 and power source 516 are separate. Various embodiments of a power pack unit can include but are not limited to a combination of the one or more of the following items: pneumatic compressor, batteries, stored high-pressure pneumatic chamber, hydraulic pump, pneumatic safety components, electric motor, electric motor drivers, microprocessor, and the like. Accordingly, various embodiments of a power pack unit can include one or more of elements of the exoskeleton device 510 and/or pneumatic system 520.

Such components can be configured on the body of a user 101 in a variety of suitable ways. One preferred embodiment is the inclusion of a power pack unit in a torso-worn pack that is not operably coupled to the leg actuator units 110 in any manner that transmits substantial mechanical forces to the leg actuator units 110. Another embodiment includes the integration of the power pack unit, or components thereof, into the leg actuator units 110 themselves. Various embodiments can include but are not limited to the following configurations: torso-mounted in a backpack, torso-mounted in a messenger bag, hip-mounted bag, mounted to the leg, integrated into the brace component, and the like. Further embodiments can separate the components of the power pack unit and disperse them into various configurations on the user 101. Such an embodiment may configure a pneumatic compressor on the torso of the user 101 and then integrate the batteries into the leg actuator units 110 of the exoskeleton system 100.

One aspect of the power supply 516 in various embodiments is that it must be connected to the brace component in such a manner as to pass the operable system power to the brace for operation. One preferred embodiment is the use of electrical cables to connect the power supply 516 and the leg actuator units 110. Other embodiments can use electrical cables and a pneumatic line 145 to deliver electrical power and pneumatic power to the leg actuator units 110. Various embodiments can include but are not limited to any configuration of the following connections: pneumatic hosing, hydraulic hosing, electrical cables, wireless communication, wireless power transfer, and the like.

In some embodiments, it can be desirable to include secondary features that extend the capabilities of a cable connection (e.g., pneumatic lines 145 and/or power lines) between the leg actuator units 110 and the power supply 516 and/or pneumatic system 520. One preferred embodiment includes retractable cables that are configured to have a small mechanical retention force to maintain cables that are pulled tight against the user with reduced slack remaining in the cable. Various embodiments can include, but are not limited to a combination of the following secondary features: retractable cables, a single cable including both fluidic and electrical power, magnetically-connected electrical cables, mechanical quick releases, breakaway connections designed to release at a specified pull force, integration into mechanical retention features on the user's clothing, and the like. Yet another embodiment can include routing the cables in such a way as to minimize geometric differences between the user 101 and the cable lengths. One such embodiment in a dual knee configuration with a torso power supply can be routing the cables along the user's lower torso to connect the right side of a power supply bag with the left knee of the user. Such a routing can allow the geometric differences in length throughout the user's normal range of motion.

One specific additional feature that can be a concern in some embodiments is the need for proper heat management of the exoskeleton system 100. As a result, there are a variety of features that can be integrated specifically for the benefit of controlling heat. One preferred embodiment integrates exposed heat sinks to the environment that allow elements of the exoskeleton device 510 and/or pneumatic system 520 to dispel heat directly to the environment through unforced cooling using ambient airflow. Another embodiment directs the ambient air through internal air channels in a backpack 155 or other housing to allow for internal cooling. Yet another embodiment can extend upon this capability by introducing scoops on a backpack 155 or other housing in an effort to allow air flow through the internal channels. Various embodiments can include but are not limited to the following: exposed heat sinks that are directly connected to a high heat component; a water-cooled or fluid-cooled heat management system; forced air cooling through the introduction of a powered fan or blower; external shielded heat sinks to protect them from direct contact by a user, and the like.

In some cases, it may be beneficial to integrate additional features into the structure of the backpack 155 or other housing to provide additional features to the exoskeleton system 100. One preferred embodiment is the integration of mechanical attachments to support storage of the leg actuator units 110 along with the exoskeleton device 510 and/or pneumatic system 520 in a small package. Such an embodiment can include a deployable pouch that can secure the leg actuator units 110 against the backpack 155 along with mechanical clasps that hold the upper or lower arms 115, 120 of the actuator units 110 to the backpack 155. Another embodiment is the inclusion of storage capacity into the backpack 155 so the user 101 can hold additional items such as a water bottle, food, personal electronics, and other personal items. Various embodiments can include but are not limited to other additional features such as the following: a warming pocket which is heated by hot airflow from the exoskeleton device 510 and/or pneumatic system 520; air scoops to encourage additional airflow internal to the backpack 155; strapping to provide a closer fit of the backpack 155 on the user, waterproof storage, temperature-regulated storage, and the like.

In a modular configuration, it may be required in some embodiments that the exoskeleton device 510 and/or pneumatic system 520 can be configured to support the power, fluidic, sensing and control requirements and capabilities of various potential configurations of the exoskeleton system. One preferred embodiment can include an exoskeleton device 510 and/or pneumatic system 520 that can be tasked with powering a dual knee configuration or a single knee configuration (i.e., with one or two leg actuator units 110 on the user 101). Such an exoskeleton system 100 can support the requirements of both configurations and then appropriately configure power, fluidic, sensing and control based on a determination or indication of a desired operating configuration. Various embodiments exist to support an array of potential modular system configurations, such as multiple batteries, and the like.

In various embodiments, the exoskeleton device 100 can be operable to perform methods or portions of methods described in more detail below or in related applications incorporated herein by reference. For example, the memory 512 can include non-transitory computer readable instructions (e.g., software), which if executed by the processor 511, can cause the exoskeleton system 100 to perform methods or portions of methods described herein or in related applications incorporated herein by reference.

This software can embody various methods that interpret signals from the sensors 513 or other sources to determine how to best operate the exoskeleton system 100 to provide the desired benefit to the user. The specific embodiments described below should not be used to imply a limit on the sensors 513 that can be applied to such an exoskeleton system 100 or the source of sensor data. While some example embodiments can require specific information to guide decisions, it does not create an explicit set of sensors 513 that an exoskeleton system 100 will require and further embodiments can include various suitable sets of sensors 513. Additionally, sensors 513 can be located at various suitable locations on an exoskeleton system 100 including as part of an exoskeleton device 510, pneumatic system 520, one or more fluidic actuator 130, or the like. Accordingly, the example illustration of FIG. 5 should not be construed to imply that sensors 513 are exclusively disposed at or part of an exoskeleton device 510 and such an illustration is merely provided for purposes of simplicity and clarity.

One aspect of control software can be the operational control of leg actuator units 110, exoskeleton device 510 and pneumatic system 520 to provide the desired response. There can be various suitable responsibilities of the operational control software. For example, as discussed in more detail below, one can be low-level control which can be responsible for developing baseline feedback for operation of the leg actuator units 110, exoskeleton device 510 and pneumatic system 520. Another can be intent recognition which can be responsible for identifying the intended maneuvers of the user 101 based on data from the sensors 513 and causing the exoskeleton system 100 to operate based on one or more identified intended maneuvers. A further example can include reference generation, which can include selecting the desired torques the exoskeleton system 100 should generate to best assist the user 101. It should be noted that this example architecture for delineating the responsibilities of the operational control software is merely for descriptive purposes and in no way limits the wide variety of software approaches that can be deployed on further embodiments of an exoskeleton system 100.

One method implemented by control software can be for the low-level control and communication of the exoskeleton system 100. This can be accomplished via a variety of methods as required by the specific joint and need of the user. In a preferred embodiment, the operational control is configured to provide a desired torque by the leg actuator unit 110 at the user's joint. In such a case, the exoskeleton system 100 can create low-level feedback to achieve a desired joint torque by the leg actuator units 110 as a function of feedback from the sensors 513 of the exoskeleton system 100. For example, such a method can include obtaining sensor data from one or more sensors 513, determining whether a change in torque by the leg actuator unit 110 is necessary, and if so, causing the pneumatic system 520 to change the fluid state of the leg actuator unit 110 to achieve a target joint torque by the leg actuator unit 110. Various embodiments can include, but are not limited to, the following: current feedback; recorded behavior playback; position-based feedback; velocity-based feedback; feedforward responses; volume feedback which controls a fluidic system 520 to inject a desired volume of fluid into an actuator 130, and the like.

Another method implemented by operational control software can be for intent recognition of the user's intended behaviors. This portion of the operational control software, in some embodiments, can indicate any array of allowable behaviors that the system 100 is configured to account for. In one preferred embodiment, the operational control software is configured to identify two specific states: Walking, and Not Walking. In such an embodiment, to complete intent recognition, the exoskeleton system 100 can use user input and/or sensor readings to identify when it is safe, desirable or appropriate to provide assistive actions for walking. For example, in some embodiments, intent recognition can be based on input received via the user interface 515, which can include an input for Walking, and Not Walking. Accordingly, in some examples, the use interface can be configured for a binary input consisting of Walking, and Not Walking.

In some embodiments, a method of intent recognition can include the exoskeleton device 510 obtaining data from the sensors 513 and determining, based at least in part of the obtained data, whether the data corresponds to a user state of Walking, and Not Walking. Where a change in state has been identified, the exoskeleton system 100 can be re-configured to operate in the current state. For example, the exoskeleton device 510 can determine that the user 101 is in a Not Walking state such as sitting and can configure the exoskeleton system 100 to operate in a Not Walking configuration. For example, such a Not Walking configuration can, compared to a Walking configuration, provide for a wider range of motion; provide no torque or minimal torque to the leg actuation units 110; save power and fluid by minimizing processing and fluidic operations; cause the system to be alert for supporting a wider variety of non-skiing motion, and the like.

The exoskeleton device 510 can monitor the activity of the user 101 and can determine that the user is walking or is about to walk (e.g., based on sensor data and/or user input), and can then configure the exoskeleton system 100 to operate in a Walking configuration. For example, such a Walking configuration, compared to a Not Walking configuration, can allow for a more limited range of motion that would be present during skiing (as opposed to motions during non-walking); provide for high or maximum performance by increasing the processing and fluidic response of the exoskeleton system 100 to support skiing; and the like. When the user 101 finishes a walking session, is identified as resting, or the like, the exoskeleton system 100 can determine that the user is no longer walking (e.g., based on sensor data and/or user input) and can then configure the exoskeleton system 100 to operate in the Not Walking configuration.

In some embodiments, there can be a plurality of Walking states, or Walking sub-states that can be determined by the exoskeleton system 100, including hard walking, moderate walking, light walking, downhill, uphill, jumping, recreational, sport, running, and the like (e.g., based on sensor data and/or user input). Such states can be based on the difficulty of the walking, ability of the user, terrain, weather conditions, elevation, angle of the walking surface, desired performance level, power-saving, and the like. Accordingly, in various embodiments, the exoskeleton system 100 can adapt for various specific types of walking or movement based on a wide variety of factors.

Another method implemented by operational control software can be the development of desired referenced behaviors for the specific joints providing assistance. This portion of the control software can tie together identified maneuvers with the level control. For example, when the exoskeleton system 100 identifies an intended user maneuver, the software can generate reference behaviors that define the torques, or positions desired by the actuators 130 in the leg actuation units 110. In one embodiment, the operational control software generates references to make the leg actuation units 110 simulate a mechanical spring at the knee 103 via the configuration actuator 130. The operational control software can generate torque references at the knee joints that are a linear function of the knee joint angle. In another embodiment, the operational control software generates a volume reference to provide a constant standard volume of air into a pneumatic actuator 130. This can allow the pneumatic actuator 130 to operate like a mechanical spring by maintaining the constant volume of air in the actuator 130 regardless of the knee angle, which can be identified through feedback from one or more sensors 513.

In another embodiment, a method implemented by the operational control software can include evaluating the balance of the user 101 while walking, moving, standing, or running and directing torque in such a way to encourage the user 101 to remain balanced by directing knee assistance to the leg 102 that is on the outside of the user's current balance profile. Accordingly, a method of operating an exoskeleton system 100 can include the exoskeleton device 510 obtaining sensor data from the sensors 510 indicating a balance profile of a user 101 based on the configuration of left and right leg actuation units 110L, 110R and/or environmental sensors such as position sensors, accelerometers, and the like. The method can further include determining a balance profile based on the obtained data, including an outside and inside leg, and then increasing torque to the actuation unit 110 associated with the leg 102 identified as the outside leg.

Various embodiments can use but are not limited to kinematic estimates of posture, joint kinetic profile estimates, as well as observed estimates of body pose. Various other embodiments exist for methods of coordinating two legs 102 to generate torques including but not limited to guiding torque to the most bent leg; guiding torque based on the mean amount of knee angle across both legs; scaling the torque as a function of speed or acceleration; and the like. It should also be noted that yet another embodiment can include a combination of various individual reference generation methods in a variety of matters which include but are not limited to a linear combination, a maneuver specific combination, or a non-linear combination.

In another embodiment, an operational control method can blend two primary reference generation techniques: one reference focused on static assistance and one reference focused on leading the user 101 into their upcoming behavior. In some examples, the user 101 can select how much predictive assistance is desired while using the exoskeleton system 100. For example, by a user 101 indicating a large amount of predictive assistance, the exoskeleton system 100 can be configured to be very responsive and may be well configured for a skilled operator on a challenging terrain. The user 101 could also indicate a desire for a very low amount of predictive assistance, which can result in slower system performance, which may be better tailored towards a learning user or less challenging terrain.

Various embodiments can incorporate user intent in a variety of manners and the example embodiments presented above should not be interpreted as limiting in any way. For example, method of determining and operating an exoskeleton system 100 can include systems and method of U.S. patent application Ser. No. 15/887,866, filed Feb. 2, 2018 entitled “SYSTEM AND METHOD FOR USER INTENT RECOGNITION,” having attorney docket number 0110496-003US0, which is incorporated herein by reference. Also, various embodiments can use user intent in a variety of manners including as a continuous unit, or as a discrete setting with only a few indicated values.

At times it can be beneficial for operational control software to manipulate its control to account for a secondary or additional objective in order to maximize device performance or user experience. In one embodiment, the exoskeleton system 100 can provide an elevation-aware control over a central compressor or other components of a pneumatic system 520 to account for the changing density of air at different elevations. For example, operational control software can identify that the system is operating at a higher elevation based on data from sensors 513, or the like, and provide more current to the compressor in order to maintain electrical power consumed by the compressor. Accordingly, a method of operating a pneumatic exoskeleton system 100 can include obtaining data indicating air density where the pneumatic exoskeleton system 100 is operating (e.g., elevation data), determining optimal operating parameters of the pneumatic system 520 based on the obtained data, and configuring operation based on the determined optimal operating parameters. In further embodiments, operation of a pneumatic exoskeleton system 100 such as operating volumes can be tuned based on environmental temperature, which may affect air volumes.

In another embodiment, the exoskeleton system 100 can monitor the ambient audible noise levels and vary the control behavior of the exoskeleton system 100 to reduce the noise profile of the system. For example, when a user 101 is in a quiet public place or quietly enjoying a location alone or with others, noise associated with actuation of the leg actuation units 110 can be undesirable (e.g., noise of running a compressor or inflating or deflating actuators 130). Accordingly, in some embodiments, the sensors 513 can include a microphone that detects ambient noise levels and can configure the exoskeleton system 100 to operate in a quiet mode when ambient noise volume is below a certain threshold. Such a quiet mode can configure elements of a pneumatic system 520 or actuators 130 to operate more quietly, or can delay or reduce frequency of noise made by such elements.

In the case of a modular system, it can be desirable in various embodiments for operational control software to operate differently based on the number of leg actuation units 110 operational within the exoskeleton system 100. For example, in some embodiments, a modular dual-knee exoskeleton system 100 (see e.g., FIGS. 1 and 2) can also operate in a single knee configuration where only one of two leg actuation units 110 are being worn by a user 101 (see e.g., FIGS. 3 and 4) and the exoskeleton system 100 can generate references differently when in a two-leg configuration compared to a single leg configuration. Such an embodiment can use a coordinated control approach to generate references where the exoskeleton system 100 is using inputs from both leg actuation units 110 to determine the desired operation. However in a single-leg configuration, the available sensor information may have changed, so in various embodiments the exoskeleton system 100 can implement a different control method. In various embodiments this can be done to maximize the performance of the exoskeleton system 100 for the given configuration or account for differences in available sensor information based on there being one or two leg actuation units 110 operating in the exoskeleton system 100.

Accordingly, a method of operating an exoskeleton system 100 can include a startup sequence where a determination is made by the exoskeleton device 510 whether one or two leg actuation units 110 are operating in the exoskeleton system 100; determining a control method based on the number of actuation units 110 that are operating in the exoskeleton system 100; and implementing and operating the exoskeleton system 100 with the selected control method. A further method operating an exoskeleton system 100 can include monitoring by the exoskeleton device 510 of actuation units 110 that are operating in the exoskeleton system 100, determining a change in the number of actuation units 110 operating in the exoskeleton system 100, and then determining and changing the control method based on the new number of actuation units 110 that are operating in the exoskeleton system 100.

For example, the exoskeleton system 100 can be operating with two actuation units 110 and with a first control method. The user 101 can disengage one of the actuation units 110, and the exoskeleton device 510 can identify the loss of one of the actuation units 110 and the exoskeleton device 510 can determine and implement a new second control method to accommodate loss of one of the actuation units 110. In some examples, adapting to the number of active actuation units 110 can be beneficial where one of the actuation units 110 is damaged or disconnected during use and the exoskeleton system 100 is able to adapt automatically so the user 101 can still continue working or moving uninterrupted despite the exoskeleton system 100 only having a single active actuation unit 110.

In various embodiments, operational control software can adapt a control method where user needs are different between individual actuation units 110 or legs 102. In such an embodiment, it can be beneficial for the exoskeleton system 100 to change the torque references generated in each actuation unit 110 to tailor the experience for the user 101. One example is of a dual knee exoskeleton system 100 (see e.g., FIG. 1) where a user 101 has significant weakness issues in a single leg 102, but only minor weakness issues in the other leg 102. In this example, the exoskeleton system 100 can be configured to scale down the output torques on the less-affected limb compared to the more-affected limb to best meet the needs of the user 101.

Such a configuration based on differential limb strength can be done automatically by the exoskeleton system 100 and/or can be configured via a user interface 516, or the like. For example, in some embodiments, the user 101 can perform a calibration test while using the exoskeleton system 100, which can test relative strength or weakness in the legs 102 of the user 101 and configure the exoskeleton system 100 based on identified strength or weakness in the legs 102. Such a test can identify general strength or weakness of legs 102 or can identify strength or weakness of specific muscles or muscle groups such as the quadriceps, calves, hamstrings, gluteus, gastrocnemius; femoris, sartorius, soleus, and the like.

Another aspect of a method for operating an exoskeleton system 100 can include control software that monitors the exoskeleton system 100. A monitoring aspect of such software can, in some examples, focus on monitoring the state of the exoskeleton system 100 and the user 101 throughout normal operation in an effort to provide the exoskeleton system 100 with situational awareness and understanding of sensor information in order to drive user understanding and device performance. One aspect of such monitoring software can be to monitor the state of the exoskeleton system 100 in order to provide device understanding to achieve a desired performance capability. A portion of this can be the development of a system body pose estimate. In one embodiment, the exoskeleton device 510 uses the onboard sensors 513 to develop a real-time understanding of the user's pose. In other words, data from sensors 513 can be used to determine the configuration of the actuation units 110, which along with other sensor data can in turn be used to infer a user pose or body configuration estimate of the user 101 wearing the actuation units 110.

At times, and in some embodiments, it can be unrealistic or impossible for the exoskeleton system 100 to directly sense all important aspects of the system pose due to the sensing modalities not existing or their inability to be practically integrated into the hardware. As a result, the exoskeleton system 100 in some examples can rely on a fused understanding of the sensor information around an underlying model of the user's body and the exoskeleton system 100 the user is wearing. In one embodiment of a dual leg knee assistance exoskeleton system 100, the exoskeleton device 510 can use an underlying model of the user's lower extremity and torso body segments to enforce a relational constraint between the otherwise disconnected sensors 513. Such a model can allow the exoskeleton system 100 to understand the constrained motion of the two legs 102 in that they are mechanically connected through the user's kinematic chain created by the body. This approach can be used to ensure that the estimates for knee orientation are properly constrained and biomechanically valid. In various embodiments, the exoskeleton system 100 can include sensors 513 embedded in the exoskeleton device 510 and/or pneumatic system 520 to provide a fuller picture of the system posture. In yet another embodiment, the exoskeleton system 100 can include logical constraints that are unique to the application in an effort to provide additional constraints on the operation of the pose estimation. This can be desirable, in some embodiments, in conditions where ground truth information is unavailable such as highly dynamic actions, where the exoskeleton system 100 is denied an external GPS signal, or the earth's magnetic field is distorted.

In some embodiments, changes in configuration of the exoskeleton system 100 based location and/or location attributes can be performed automatically and/or with input from the user 101. For example, in some embodiments, the exoskeleton system 100 can provide one or more suggestions for a change in configuration based on location and/or location attributes and the user 101 can choose to accept such suggestions. In further embodiments, some or all configurations of the exoskeleton system 100 based location and/or location attributes can occur automatically without user interaction.

Various embodiments can include the collection and storage of data from the exoskeleton system 100 throughout operation. In one embodiment, this can include the live streaming of the data collected on the exoskeleton device 510 to a cloud storage location via the communication unit(s) 514 through an available wireless communication protocol or storage of such data on the memory 512 of the exoskeleton device 510, which may then be uploaded to another location via the communication unit(s) 514. For example, when the exoskeleton system 100 obtains a network connection, recorded data can be uploaded to the cloud at a communication rate that is supported by the available data connection. Various embodiments can include variations of this, but the use of monitoring software to collect and store data about the exoskeleton system 100 locally and/or remotely for retrieval at a later time for an exoskeleton system 100 such as this can be included in various embodiments.

In some embodiments, once such data has been recorded, it can be desirable to use the data for a variety of different applications. One such application can be the use of the data to develop further oversight functions on the exoskeleton system 100 in an effort to identify device system issues that are of note. One embodiment can be the use of the data to identify a specific exoskeleton system 100 or leg actuator unit 110 among a plurality, whose performance has varied significantly over a variety of uses. Another use of the data can be to provide it back to the user 101 to gain a better understanding of how they ski. One embodiment of this can be providing the data back to the user 101 through a mobile application that can allow the user 101 to review their use on a mobile device. Yet another use of such device data can be to synchronize playback of data with an external data stream to provide additional context. One embodiment is a system that incorporates the GPS data from a companion smartphone with the data stored natively on the device. Another embodiment can include the time synchronization of recorded video with the data stored that was obtained from the device 100. Various embodiments can use these methods for immediate use of data by the user to evaluate their own performance, for later retrieval by the user to understand behavior from the past, for users to compare with other users in-person or through an online profile, by developers to further the development of the system, and the like.

Another aspect of a method of operating an exoskeleton system 100 can include monitoring software configured for identifying user-specific traits. For example, the exoskeleton system 100 can provide an awareness of how a specific skier 101 operates in the exoskeleton system 100 and over time can develop a profile of the user's specific traits in an effort to maximize device performance for that user. One embodiment can include the exoskeleton system 100 identifying a user-specific use type in an effort to identify the use style or skill level of the specific user. Through an evaluation of the user form and stability during various actions (e.g., via analysis of data obtained from the sensors 513 or the like), the exoskeleton device 510 in some examples can identify if the user is highly skilled, novice, or beginner. This understanding of skill level or style can allow the exoskeleton system 100 to better tailor control references to the specific user.

In further embodiments, the exoskeleton system 100 can also use individualized information about a given user to build a profile of the user's biomechanic response to the exoskeleton system 100. One embodiment can include the exoskeleton system 100 collecting data regarding the user to develop an estimate of the individual user's knee strain in an effort to assist the user with understanding the burden the user has placed on his legs 102 throughout use. This can allow the exoskeleton system 100 to alert a user if the user has reached a historically significant amount of knee strain to alert the user that he may want to stop to spare himself potential pain or discomfort.

Another embodiment of individualized biomechanic response can be the system collecting data regarding the user to develop an individualized system model for the specific user. In such an embodiment the individualized model can be developed through a system ID (identification) method that evaluates the system performance with an underlying system model and can identify the best model parameters to fit the specific user. The system ID in such an embodiment can operate to estimate segment lengths and masses (e.g., of legs 102 or portions of the legs 102) to better define a dynamic user model. In another embodiment, these individualized model parameters can be used to deliver user specific control responses as a function of the user's specific masses and segment lengths. In some examples of a dynamic model, this can help significantly with the device's ability to account for dynamic forces during highly challenging activities.

In various embodiments, the exoskeleton system 100 can provide for various types of user interaction. For example, such interaction can include input from the user 101 as needed into the exoskeleton system 100 and the exoskeleton system 100 providing feedback to the user 101 to indicate changes in operation of the exoskeleton system 100, status of the exoskeleton system 100, and the like. As discussed herein, user input and/or output to the user can be provided via one or more user interface 515 of the exoskeleton device 510 or can include various other interfaces or devices such as a smartphone user device. Such one or more user interfaces 515 or devices can be located in various suitable locations such as on a backpack 155 (see e.g., FIG. 1), the pneumatic system 520, leg actuation units 110, or the like.

The exoskeleton system 100 can be configured to obtain intent from the user 101. For example, this can be accomplished through a variety of input devices that are either integrated directly with the other components of the exoskeleton system 100 (e.g., one or more user interface 515), or external and operably connected with the exoskeleton system 100 (e.g., a smartphone, wearable device, remote server, or the like). In one embodiment, a user interface 515 can comprise a button that is integrated directly into one or both of the leg actuation units 110 of the exoskeleton system 100. This single button can allow the user 101 to indicate a variety of inputs. In another embodiment, a user interface 515 can be configured to be provided through a torso-mounted lapel input device that is integrated with the exoskeleton device 510 and/or pneumatic system 520 of the exoskeleton system 100. In one example, such a user interface 515 can comprise a button that has a dedicated enable and disable functionality; a selection indicator dedicated to the user's desired power level (e.g., an amount or range of force applied by the leg actuator units 110); and a selector switch that can be dedicated to the amount of predictive intent to integrate into the control of the exoskeleton system 100. Such an embodiment of a user interface 515 can use a series of functionally locked buttons to provide the user 101 with a set of understood indicators that may be required for normal operation in some examples. Yet another embodiment can include a mobile device that is connected to the exoskeleton system 100 via a Bluetooth connection or other suitable wired or wireless connection. Use of a mobile device or smartphone as a user interface 515 can allow the user a far greater amount of input to the device due to the flexibility of the input method. Various embodiments can use the options listed above or combinations and variants thereof, but are in no way limited to the explicitly stated combinations of input methods and items.

The one or more user interface 515 can provide information to the user 101 to allow the user to appropriately use and operate the exoskeleton system 100. Such feedback can be in a variety of visual, haptic and/or audio methods including, but not limited to, feedback mechanisms integrated directly on one or both of the actuation units 110; feedback through operation of the actuation units 110; feedback through external items not integrated with the exoskeleton system 100 (e.g., a mobile device); and the like. Some embodiments can include integration of feedback lights in the actuation units 110, of the exoskeleton system 100. In one such embodiment, five multi-color lights are integrated into the knee joint 125 or other suitable location such that the user 101 can see the lights. These lights can be used to provide feedback of system errors, device power, successful operation of the device, and the like. In another embodiment, the exoskeleton system 100 can provide controlled feedback to the user to indicate specific pieces of information. In such embodiments, the exoskeleton system 100 can pulse the joint torque on one or both of the leg actuation units 110 to the maximum allowed torque when the user changes the maximum allowable user-desired torque, which can provide a haptic indicator of the torque settings. Another embodiment can use an external device such as a mobile device where the exoskeleton system 100 can provide alert notifications for device information such as operational errors, setting status, power status, and the like. Types of feedback can include, but are not limited to, lights, sounds, vibrations, notifications, and operational forces integrated in a variety of locations that the user 101 may be expected to interact with including the actuation units 110, pneumatic system 520, backpack 155, mobile devices, or other suitable methods of interactions such as a web interface, SMS text or email.

The communication unit 514 can include hardware and/or software that allows the exoskeleton system 100 to communicate with other devices, including a user device, a classification server, other exoskeleton systems 100, or the like, directly or via a network. For example, the exoskeleton system 100 can be configured to connect with a user device, which can be used to control the exoskeleton system 100, receive performance data from the exoskeleton system 100, facilitate updates to the exoskeleton system, and the like. Such communication can be wired and/or wireless communication.

In some embodiments, the sensors 513 can include any suitable type of sensor, and the sensors 513 can be located at a central location or can be distributed about the exoskeleton system 100. For example, in some embodiments, the exoskeleton system 100 can comprise a plurality of accelerometers, force sensors, position sensors, and the like, at various suitable positions, including at the arms 115, 120, joint 125, actuators 130 or any other location. Accordingly, in some examples, sensor data can correspond to a physical state of one or more actuators 130, a physical state of a portion of the exoskeleton system 100, a physical state of the exoskeleton system 100 generally, and the like. In some embodiments, the exoskeleton system 100 can include a global positioning system (GPS), camera, range sensing system, environmental sensors, elevation sensor, microphone, thermometer, or the like. In some embodiments, the exoskeleton system 100 can obtain sensor data from a user device such as a smartphone, or the like.

In some cases, it can be beneficial for the exoskeleton system 100 to generate or augment an understanding of a user 101 wearing the exoskeleton device 100, of the environment and/or operation of the exoskeleton system 100 through integrating various suitable sensors 515 into the exoskeleton system 100. One embodiment can include sensors 515 to measure and track biological indicators to observe various suitable aspects of user 101 (e.g., corresponding to fatigue and/or body vital functions) such as, body temperature, heart rate, respiratory rate, blood pressure, blood oxygenation saturation, expired CO₂, blood glucose level, gait speed, sweat rate, and the like.

In some embodiments, the exoskeleton system 100 can take advantage of the relatively close and reliable connectivity of such sensors 515 to the body of the user 101 to record system vitals and store them in an accessible format (e.g., at the exoskeleton device, a remote device, a remote server, or the like). Another embodiment can include environmental sensors 515 that can continuously or periodically measure the environment around the exoskeleton system 100 for various environmental conditions such as temperature, humidity, light level, barometric pressure, radioactivity, sound level, toxins, contaminants, or the like. In some examples, various sensors 515 may not be required for operation of the exoskeleton system 100 or directly used by operational control software, but can be stored for reporting to the user 101 (e.g., via an interface 515) or sending to a remote device, a remote server, or the like.

The pneumatic system 520 can comprise any suitable device or system that is operable to inflate and/or deflate the actuators 130 individually or as a group. For example, in one embodiment, the pneumatic system can comprise a diaphragm compressor as disclosed in related patent application Ser. No. 14/577,817 filed Dec. 19, 2014 or a pneumatic power transmission as discussed herein.

Turning to FIGS. 12a, 12b, 13a and 13b , examples of a leg actuator unit 110 can include the joint 125, bellows actuator 130, constraint ribs 135, and base plates 140. More specifically, FIG. 12a illustrates a side view of a leg actuator unit 110 in a compressed configuration and FIG. 12b illustrates a side view of the leg actuator unit 110 of FIG. 12a in an expanded configuration. FIG. 13a illustrates a cross-sectional side view of a leg actuator unit 110 in a compressed configuration and FIG. 13b illustrates a cross-sectional side view of the leg actuator unit 110 of FIG. 13a in an expanded configuration.

As shown in FIGS. 12a, 12b, 13a and 13b , the joint 125 can have a plurality of constraint ribs 135 extending from and coupled to the joint 125, which surround or abut a portion of the bellows actuator 130. For example, in some embodiments, constraint ribs 135 can abut the ends 132 of the bellows actuator 130 and can define some or all of the base plates 140 that the ends 132 of the bellows actuator 130 can push against. However, in some examples, the base plates 140 can be separate and/or different elements than the constraint ribs 135 (e.g., as shown in FIG. 1). Additionally, one or more constraint ribs 135 can be disposed between ends 132 of the bellows actuator 130. For example, FIGS. 12a, 12b, 13a and 13b illustrate one constraint rib 135 disposed between ends 132 of the bellows actuator 130; however, further embodiments can include any suitable number of constraint ribs 135 disposed between ends of the bellows actuator 130, including 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 50, 100 and the like. In some embodiments, constraint ribs can be absent.

As shown in cross sections of FIGS. 13a and 13b , the bellows actuator 130 can define a cavity 131 that can be filled with fluid (e.g., air), to expand the bellows actuator 130, which can cause the bellows to elongate along axis B as shown in FIGS. 12b and 13b . For example, increasing a pressure and/or volume of fluid in the bellows actuator 130 shown in FIG. 12a can cause the bellows actuator 130 to expand to the configuration shown in FIG. 12b . Similarly, increasing a pressure and/or volume of fluid in the bellows actuator 130 shown in FIG. 13a can cause the bellows actuator 130 to expand to the configuration shown in FIG. 13b . For clarity, the use of the term “bellows” is to describe a component in the described actuator unit 110 and is not intended to limit the geometry of the component. The bellows actuator 130 can be constructed with a variety of geometries including but not limited to a constant cylindrical tube, a cylinder of varying cross-sectional area, a 3-D woven geometry that inflates to a defined arc shape, and the like. The term ‘bellows’ should not be construed to necessary include a structure having convolutions.

Alternatively, decreasing a pressure and/or volume of fluid in the bellows actuator 130 shown in FIG. 12b can cause the bellows actuator 130 to contract to the configuration shown in FIG. 12a . Similarly, decreasing a pressure and/or volume of fluid in the bellows actuator 130 shown in FIG. 13b can cause the bellows actuator 130 to contract to the configuration shown in FIG. 13a . Such increasing or decreasing of a pressure or volume of fluid in the bellows actuator 130 can be performed by pneumatic system 520 and pneumatic lines 145 of the exoskeleton system 100, which can be controlled by the exoskeleton device 510 (see FIG. 5).

In one preferred embodiment, the bellows actuator 130 can be inflated with air; however, in further embodiments, any suitable fluid can be used to inflate the bellows actuator 130. For example, gasses including oxygen, helium, nitrogen, and/or argon, or the like can be used to inflate and/or deflate the bellows actuator 130. In further embodiments, a liquid such as water, an oil, or the like can be used to inflate the bellows actuator 130. Additionally, while some examples discussed herein relate to introducing and removing fluid from a bellows actuator 130 to change the pressure within the bellows actuator 130, further examples can include heating and/or cooling a fluid to modify a pressure within the bellows actuator 130.

As shown in FIGS. 12a, 12b, 13a and 13b , the constraint ribs 135 can support and constrain the bellows actuator 130. For example, inflating the bellows actuator 130 causes the bellows actuator 130 to expand along a length of the bellows actuator 130 and also cause the bellows actuator 130 to expand radially. The constraint ribs 135 can constrain radial expansion of a portion of the bellows actuator 130. Additionally, as discussed herein, the bellows actuator 130 comprise a material that is flexible in one or more directions and the constraint ribs 135 can control the direction of linear expansion of the bellows actuator 130. For example, in some embodiments, without constraint ribs 135 or other constraint structures the bellows actuator 130 would herniate or bend out of axis uncontrollably such that suitable force would not be applied to the base plates 140 such that the arms 115, 120 would not be suitably or controllably actuated. Accordingly, in various embodiments, the constraint ribs 135 can be desirable to generate a consistent and controllable axis of expansion B for the bellows actuator 130 as they are inflated and/or deflated.

In some examples, the bellows actuator 130 in a deflated configuration can substantially extend past a radial edge of the constraint ribs 135 and can retract during inflation to extend less past the radial edge of the constraint ribs 135, to extend to the radial edge of the constraint ribs 135, or not to extend less past the radial edge of the constraint ribs 135. For example, FIG. 13a illustrates a compressed configuration of the bellows actuator 130 where the bellows actuator 130 substantially extend past a radial edge of the constraint ribs 135 and FIG. 13b illustrates the bellows actuator 130 retracting during inflation to extend less past the radial edge of the constraint ribs 135 in an inflated configuration of the bellows actuator 130.

Similarly, FIG. 14a illustrates a top view of a compressed configuration of bellows actuator 130 where the bellows actuator 130 substantially extend past a radial edge of constraint ribs 135 and FIG. 14b illustrates a top view where the bellows actuator 130 retract during inflation to extend less past the radial edge of the constraint ribs 135 in an inflated configuration of the bellows actuator 130.

Constraint ribs 135 can be configured in various suitable ways. For example, FIGS. 14a, 14b and 15 illustrate a top view of an example embodiment of a constraint rib 135 having a pair of rib arms 136 that extend from the joint structure 125 and couple with a circular rib ring 137 that defines a rib cavity 138 through which a portion of the bellows actuator 130 can extend (e.g., as shown in FIGS. 13a, 13b, 14a and 14b ). In various examples, the one or more constraint ribs 135 can be a substantially planar element with the rib arms 136 and rib ring 137 being disposed within a common plane.

In further embodiments, the one or more constraint ribs 135 can have any other suitable configuration. For example, some embodiments can have any suitable number of rib arms 136, including one, two, three, four, five, or the like. Additionally, the rib ring 137 can have various suitable shapes and need not be circular, including one or both of an inner edge that defines the rib cavity 138 or an outer edge of the rib ring 137.

In various embodiments, the constraining ribs 135 can be configured to direct the motion of the bellows actuator 130 through a swept path about some instantaneous center (which may or may not be fixed in space) and/or to prevent motion of the bellows actuator 130 in undesired directions, such as out-of-plane buckling. As a result, the number of constraining ribs 135 included in some embodiments can vary depending on the specific geometry and loading of the leg actuator unit 110. Examples can range from one constraining rib 135 up to any suitable number of constraining ribs 135; accordingly, the number of constraining ribs 135 should not be taken to limit the applicability of the invention. Additionally, constraining ribs 135 can be absent in some embodiments.

The one or more constraining ribs 135 can be constructed in a variety of ways. For example the one or more constraining ribs 135 can vary in construction on a given leg actuator unit 110, and/or may or may not require attachment to the joint structure 125. In various embodiments, the constraining ribs 135 can be constructed as an integral component of a central rotary joint structure 125. An example embodiment of such a structure can include a mechanical rotary pin joint, where the constraining ribs 135 are connected to and can pivot about the joint 125 at one end of the joint structure 125, and are attached to an inextensible outer layer of the bellows actuator 130 at the other end. In another set of embodiments, the constraining ribs 135 can be constructed in the form of a single flexural structure that directs the motion of the bellows actuator 130 throughout the range of motion for the leg actuator unit 110. Another example embodiment uses a flexural constraining rib 135 that is not connected integrally to the joint structure 125 but is instead attached externally to a previously assembled joint structure 125. Another example embodiment can comprise the constraint ribs 135 being composed of pieces of fabric wrapped around the bellows actuator 130 and attached to the joint structure 125, acting like a hammock to restrict and/or guide the motion of the bellows actuator 130. There are additional methods available for constructing the constraining ribs 135 that can be used in additional embodiments that include but are not limited to a linkage, a rotational flexure connected around the joint structure 125, and the like.

In some examples, a design consideration for constraining ribs 135 can be how the one or more constraining ribs 135 interact with the bellows actuator 130 to guide the path of the bellows actuator 130. In various embodiments, the constraining ribs 135 can be fixed to the bellows actuator 130 at predefined locations along the length of the bellows actuator 130. One or more constraining ribs 135 can be coupled to the bellows actuator 130 in various suitable ways, including but not limited to sewing, mechanical clamps, geometric interference, direct integration, and the like. In other embodiments, the constraining ribs 135 can be configured such that the constraining ribs 135 float along the length of the bellows actuator 130 and are not fixed to the bellows actuator 130 at predetermined connection points. In some embodiments, the constraining ribs 135 can be configured to restrict a cross sectional area of the bellows actuator 130. An example embodiment can include a tubular bellows actuator 130 attached to a constraining rib 135 that has an oval cross section, which in some examples can be a configuration to reduce the width of the bellows actuator 130 at that location when the bellows actuator 130 is inflated.

The bellows actuator 130 can have various functions in some embodiments, including containing operating fluid of the leg actuator unit 110, resisting forces associated with operating pressure of the leg actuator unit 110, and the like. In various examples, the leg actuator unit 110 can operate at a fluid pressure above, below or at about ambient pressure. In various embodiments, bellows actuator 130 can comprise one or more flexible, yet inextensible or practically inextensible materials in order to resist expansion (e.g., beyond what is desired in directions other than an intended direction of force application or motion) of the bellows actuator 130 beyond what is desired when pressurized above ambient pressure. Additionally, the bellows actuator 130 can comprise an impermeable or semi-impermeable material in order to contain the actuator fluid.

For example, in some embodiments, the bellows actuator 130 can comprise a flexible sheet material such as woven nylon, rubber, polychloroprene, a plastic, latex, a fabric, or the like. Accordingly, in some embodiments, bellows actuator 130 can be made of a planar material that is substantially inextensible along one or more plane axes of the planar material while being flexible in other directions. For example, FIG. 13 illustrates a side view of a planar material 1300 (e.g., a fabric) that is substantially inextensible along axis X that is coincident with the plane of the material 1300, yet flexible in other directions, including axis Z. In the example of FIG. 13, the material 1300 is shown flexing upward and downward along axis Z while being inextensible along axis X. In various embodiments, the material 1300 can also be inextensible along an axis Y (not shown) that is also coincident with the plane of the material 1300 like axis X and perpendicular to axis X.

In some embodiments, the bellows actuator 130 can be made of a non-planar woven material that is inextensible along one or more axes of the material. For example, in one embodiment the bellows actuator 130 can comprise a woven fabric tube. Woven fabric material can provide inextensibility along the length of the bellows actuator 130 and in the circumferential direction. Such embodiments can still be able to be configured along the body of the user 101 to align with the axis of a desired joint on the body 101 (e.g., the knee 103).

In various embodiments, the bellows actuator 130 can develop its resulting force by using a constrained internal surface length and/or external surface length that are a constrained distance away from each other (e.g. due to an inextensible material as discussed above). In some examples, such a design can allow the actuator to contract on bellows actuator 130, but when pressurized to a certain threshold, the bellows actuator 130 can direct the forces axially by pressing on the plates 140 of the leg actuator unit 110 because there is no ability for the bellows actuator 130 to expand further in volume otherwise due to being unable to extend its length past a maximum length defined by the body of the bellows actuator 130.

In other words, the bellows actuator 130 can comprise a substantially inextensible textile envelope that defines a chamber that is made fluid-impermeable by a fluid-impermeable bladder contained in the substantially inextensible textile envelope and/or a fluid-impermeable structure incorporated into the substantially inextensible textile envelope. The substantially inextensible textile envelope can have a predetermined geometry and a non-linear equilibrium state at a displacement that provides a mechanical stop upon pressurization of the chamber to prevent excessive displacement of the substantially inextensible textile actuator.

In some embodiments, the bellows actuator 130 can include an envelope that consists or consists essentially of inextensible textiles (e.g., inextensible knits, woven, non-woven, etc.) that can prescribe various suitable movements as discussed herein. Inextensible textile bellows actuator 130 can be designed with specific equilibrium states (e.g., end states or shapes where they are stable despite increasing pressure), pressure/stiffness ratios, and motion paths. Inextensible textile bellows actuator 130 in some examples can be configured accurately delivering high forces because inextensible materials can allow greater control over directionality of the forces.

Accordingly, some embodiments of inextensible textile bellows actuator 130 can have a pre-determined geometry that produces displacement mostly via a change in the geometry between the uninflated shape and the pre-determined geometry of its equilibrium state (e.g., fully inflated shape) due to displacement of the textile envelope rather than via stretching of the textile envelope during a relative increase in pressure inside the chamber; in various embodiments, this can be achieved by using inextensible materials in the construction of the envelope of the bellows actuator 130. As discussed herein, in some examples “inextensible” or “substantially inextensible” can be defined as expansion by no more than 10%, no more than 5%, or no more than 1% in one or more direction.

A further component of the various embodiments of a system described in this application is a method of controlling the system, which can be performed by control software stored in one or more memory 512 and executed by one or more processor 511 of the exoskeleton system 100, such as of an exoskeleton device 510 (see FIG. 5). Such control software can be made up of a series of algorithms that interpret the sensor signals (e.g., from sensors 513) from the exoskeleton system 100 to make decisions on how to best operate the exoskeleton system 100 to provide the desired benefit to the user 101. The specific embodiments described below should not be used to imply a limit on the sensors 513 that can be applied to such an exoskeleton system 100 or the location of such sensors 513. While some example embodiments can require specific information to guide decisions, it does not create an explicit set of sensors 513 that a powered exoskeleton system 100 configured to provide assistance with various applications will require, so the following examples should be construed as non-limiting.

One aspect of a control method, which can be executed via control software in some embodiments, can be operational control of one or more actuator units 110 and components such as the pneumatic system 520 to provide a desired response by the exoskeleton system 100. A control method can serve various functions. For example, three non-limiting example responsibilities of the operational control software are as follows. The first example is low level control which can be responsible for developing a baseline feedback loop for operation of the one or more actuator units 110 and components such as the pneumatic system 520. The second example is intent recognition which can be responsible for identifying the intended maneuvers of the user 101. A third example is reference generation, which can be responsible for selecting the desired forces, torques or configurations the exoskeleton system 100 should generate to best assist the user 101. It should be noted that this example architecture for delineating the responsibilities of the operational control software is merely for descriptive purposes and in no way limits the wide variety of additional or alternative software approaches that can be employed in further embodiments.

One example function of the operational control software can be the low-level control and communication of the exoskeleton system 100. This can be accomplished in a variety of methods as required by the specific one or more actuator units 110 and need of the user 101. In a preferred embodiment, the operational control is configured to provide a desired torque at one or more joints of a user 101 via one or more actuator units 110. In such a case, the exoskeleton system 100 can create a low-level feedback loop to achieve a desired joint torque as a function of the sensor signals from the exoskeleton system 100. Various embodiments can include, but are not limited to, one or more of the following: current feedback, recorded behavior playback, position-based feedback, velocity-based feedback, feedforward responses, volume feedback which controls a fluidic system to inject a desired volume of fluid into an actuator, and the like.

For example, FIG. 10a illustrates an example embodiment of a low-level control method 1000 that begins at 1010 where a determination is made whether an actuator unit 110 is outside a reference target, and if so, at 1020 the pressure of a fluidic actuator 130 associated with the actuator unit is changed in an attempt to put the actuator unit 110 within the reference target. The method 1000 then continues back to 1010 where a determination is made whether the actuator unit 110 is outside a reference target. If at 1010 a determination is made that the actuator unit 110 is not outside a reference target, the method 1000 continues to monitor the actuator unit 110 to determine the actuator unit is outside a reference target.

As discussed in more detail herein a reference target for an actuator unit 110 can include one or more of: a torque reference for the joint 125, a fluid volume reference for the actuator 130, a joint angle reference for the joint 125, and the like. In various examples, torque at the joint 125 can be generated by the expanding or contracting of the actuator 130 as discussed herein to exert force on the upper and lower arms 115, 120 to generate a torque at the joint 125 and/or by force applied by the user 101 to the upper and lower arms 115, 120 (e.g., via flexion or extension of the leg 102 of the user 101 at the knee 103). Fluid volume of the actuator 130 can be modified in various ways such as by the pneumatic system 520 introducing or removing fluid from the actuator 130. An angle between the upper and lower arms 115, 120 can define a joint angle for the joint 125, which can be changed by the expanding or contracting of the actuator 130 as discussed herein to exert force on the upper and lower arms 115, 120 and/or by force applied to the upper and lower arms 115, 120 by the user 101 (e.g., via flexion or extension of the leg 102 of the user 101 at the knee 103).

For example, referring again to the method 1000 of FIG. 10a , the exoskeleton device 510 can obtain data from one or more sensors 513 at a knee actuator unit 110 that indicates a configuration of the knee actuator unit 110 such as a torque of the joint 125, a fluid volume of the actuator 130, a joint angle of the joint 125, and the like. The exoskeleton device 510 can determine whether such a configuration of the knee actuator unit 110 is outside of a reference target associated with such a configuration such as a torque reference for the joint 125, a fluid volume reference for the actuator 130, a joint angle reference for the joint 125, and the like.

For example, a joint angle reference for the joint 125 can be a joint angle reference target range, and a determination can be made based on data from one or more sensors 513 whether a current joint angle associated with knee actuator unit 110 is greater than or less than such a joint angle reference target range. In another example, a joint angle reference for the joint 125 can be a joint angle reference target value, and a determination can be made based on data from one or more sensors 513 whether a current joint angle associated with knee actuator unit 110 is greater than or less than such a joint angle reference target value or greater than or less than such a joint angle reference target value, plus or minus a buffer or margin of error value. In other words, determining whether an actuator unit 110 is outside a reference target can be based on a joint angle reference target range, a joint angle reference target value, a joint angle reference target value plus or minus a buffer or margin of error value, and the like. For the sake of clarity, it should be noted that there is no practical limit placed on the reference target range used by the operational control software. In many cases it is possible for the range to be so small that it is reasonably approximated to be a single target value. In an example embodiment, the target range is observed for all practical purposes by the software to be a single unique value. In one example, the target range can be set to the knee angle measurement 30 degrees.

Where a determination is made that the actuator unit 110 is outside a reference target (e.g., at 1010 of FIG. 10), the exoskeleton device 510 can configure the pneumatic system 520 to change the pressure of a fluidic actuator 130 of the actuator unit 100. For example, where a determination is made that the actuator unit 110 is currently at a joint angle that is smaller than a joint angle reference target, the pressure of a fluidic actuator 130 associated with the actuator unit 110 can be increased, which can apply force to the upper and lower arms 115, 120 of the actuator unit 110, which causes the joint angle of the actuator unit 110 to increase and hopefully change the joint angle of the actuator unit 110 to be within or at the joint angle reference target.

In another example, where a determination is made that the actuator unit 110 is currently at a joint angle that is greater than a joint angle reference target, the pressure of a fluidic actuator 130 associated with the actuator unit 110 can be decreased, which can reduce force to the upper and lower arms 115, 120 of the actuator unit 110, which can cause the joint angle of the actuator unit 110 to decrease and hopefully change the joint angle of the actuator unit 110 to be within or at the joint angle reference target.

Such monitoring of one or more reference targets and changing of the pressure of one or more fluidic actuators 130 of one or more actuators units 110 can be performed continuously and in real time or at various suitable time intervals to provide a suitable reaction time for the exoskeleton system 100.

Another example function of the operational control software can be the intent recognition of an intended behavior of a user 101 wearing the exoskeleton system 100. For example, to better serve and support the user 101 wearing the exoskeleton system 100, it can be desirable to make a determination of a behavior that the user is currently performing, is about to perform, is about to stop performing, or has stopped performing. Recognizing user behaviors can allow the exoskeleton system 100 to generate reference targets specific to given user behavior, maneuver, action, pose, or the like, which in various embodiments can provide for improved user support compared to generating reference targets agnostic to maneuvers, actions, poses, or the like, that a user is or is about to perform or stop performing.

Such a portion of the operational control software can indicate any suitable number of identifiable behaviors that the specific embodiment is configured to account for. In one preferred example embodiment, operational control software can be configured to identify two specific states comprising or consisting of: Walking and Standing. In this example embodiment, to perform intent recognition, the control software can use user inputs and/or sensor readings to identify when it is safe and appropriate to provide assistive actions to benefit the user during walking. In another embodiment, the operational control software can be configured to identify a variety of suitable states and their safe transitions, including but not limited to one or more of: sitting down, standing up, turning, walking, standing, ascending stairs, descending stairs, squatting, kneeling, ascending ramp, descending ramp, jumping, landing, crawling, prone, prone crawling, supine, crouch, crouch walking, dragging object forward, dragging object backwards, and the like.

In some embodiments, the operational control software can be configured to identify a variety of negative states and corresponding safe transitions, including but not limited to one or more of: not sitting down, not standing up, not turning, not walking, not standing, not ascending stairs, not descending stairs, not squatting, not kneeling, not ascending a ramp, not descending ramp, not jumping, not landing, not crawling, not prone, not prone crawling, not supine, not crouch, not crouch walking, not dragging object forward, not dragging object backwards, and the like. In other words, in some embodiments a determination can be made that one or more states are not present, which may be used to provide support, or for states that may be inferred to be present, even if such states are not specifically identified. Various embodiments can include any combination of specific maneuver states and/or negative maneuver states and it is not to be assumed that the inclusion of any added states changes the behavior or responsibility of the operational control software to complete intent recognition.

FIG. 10b illustrates an example embodiment of a method 1001 for determining an intended maneuver state of a user 101 wearing an exoskeleton system 100. The method 1001 begins at 1030 where sensor data is obtained, and at 1040, an intended maneuver is determined based on the obtained sensor data, and at 1050, the determined maneuver is set as the current intended maneuver state. For example, data from one or more sensors 513 associated with one or more actuation units 110 can obtained by the exoskeleton device 510 and the exoskeleton device 510 can determine an intended maneuver of a user 101 wearing the one or more actuation units 110, based at least in part on the obtained sensor data, and set the determined intended maneuver of the user as the current intended maneuver state.

Returning to the method 1001 of FIG. 10b , at 1060 sensor data is obtained, and at 1070 a determination is made whether the sensor data indicates a new intended maneuver, and if not, the currently set intended maneuver state stays the same, and the method 1001 cycles back to 1060, where sensor data is again obtained. However, if at 1070 a determination is made that the obtained sensor data indicates a new intended maneuver, then at 1080 the determined new intended maneuver is set as the new intended maneuver state and the method 1001 cycles back to 1060, where sensor data is again obtained.

For example, an initial intended maneuver state can be determined and set by the exoskeleton device 510, which can then continue monitoring sensor data to determine whether a new intended maneuver is indicated based at least in part on the further obtained sensor data. In some embodiments, only a single maneuver state can be set at any given time; however, in further embodiments, any suitable plurality of maneuver states can be set at a given time of various suitable types and in various suitable ways. For example, in some embodiments, a maneuver state can be set for an intended future maneuver, a current maneuver, a soon-to-be previous maneuver, a previous maneuver, and the like. In some embodiments, a plurality of states and/or negative states can be set at a given time.

In some embodiments, one or more set maneuver state can be associated with a confidence score. For example, where potential maneuver states consist of Walking and Standing, and a current maneuver state of Walking is set, the Walking maneuver state can be associated with a confidence score of 100%, 90%, 80%, 70%, 60%, 50%, 40%, and the like. In some embodiments, a plurality of maneuver states can be set at a given time with each of the plurality of set maneuver states changing or updated confidence score based at least in part on sensor data. For example, where potential maneuver states consist of Walking and Standing, and a current maneuver states of Walking/Standing can be associated with a confidence score of 100%/0%, 80%/20%, 60%/40%, 50%/50%, 40%/60%, 20%/80%, 0%/100%, 20%/60%, 50%/10%, and the like. In some embodiments, all possible maneuver states can be associated with a confidence score during operation of the exoskeleton device 100; confidence scores are only associated with one or more identified and set maneuver states, and the like.

Another example function of the operational control software can be the development of desired reference behaviors for one or more actuation units 110 providing assistance to a user 101 wearing an exoskeleton system 100. This example portion of the control software can tie together identified maneuvers with the low-level control (e.g., methods 1000, 1001 of FIGS. 10a and 10b ). When the operational control software identifies an intended user maneuver, in various examples, the control software can generate reference behaviors that define the torques, or positions desired by actuators 130 in actuation units 110. In one embodiment, the operational control software generates references to make the actuation units 110 at the knees 103 to simulate a mechanical spring at the knees 103.

The operational control software can generate torque, angle, pressure or other suitable references for one or more knee actuators 130 that are a linear or nonlinear function of the knee joint angle, knee joint torque, actuator pressure, or the like. For example, in some embodiments, the amount that a current configuration of an actuator unit 110 is from a target reference value or range, the greater the response generated by the exoskeleton system 100 to change the configuration of the actuator unit 110 to match or be within a target reference range (e.g., a nonlinear response). In other embodiments, the amount that a current configuration of an actuator unit 110 is from a target reference value or range does not affect the magnitude of a response generated by the exoskeleton system 100 to change the configuration of the actuator unit 110 to match or be within a target reference range (e.g., a linear response).

In another embodiment, the operational control software generates references to simulate a spring damper system. This approach can augment simulation of a mechanical spring in some examples by adding in the mechanical forces correlated with a viscous damper to a mechanical spring, which can simulate the resulting forces of such a system with joint actuation. In yet another embodiment, the operational control software generates a volume reference to provide a constant standard volume of air into one or more pneumatic actuator 130. This can allow the pneumatic actuator 130 to operate like a mechanical spring by maintaining the constant volume of air in the actuator 130 regardless of the knee angle determined through sensor feedback of an actuator unit 110 associated with the actuator 130. In other embodiments, the operational control software generates references to simulate a predefined shape such as a constant signal, a sinusoidal wave, a triangle wave, or a square wave which may be used for device operation or device debugging.

Turning to FIG. 11a , an example embodiment of a method 1100 of generating a reference target is illustrated. At 1110, sensor data is obtained, and at 1120, a joint angle of an actuator unit 110 is determined based at least in part of the obtained sensor data, and at 1130, a reference target is generated based at least in part of the determined joint angle and a set user intended maneuver state. For example, an exoskeleton device 510 can obtain data from one or more sensors 513 associated with an actuation unit 110, and can determine a joint angle of the actuation unit 110, which can correspond to an angle between the upper and lower arms 115, 120 of the actuator unit 110. One or more reference targets, such as a joint angle, actuator pressure, actuator volume, torque, or the like can be generated, which can be generated based on the determined joint angle and one or more set maneuver state such as a maneuvers state generated by the method 1001 of FIG. 10b or other suitable methods. In various embodiments, the one or more generated reference targets can be used in the method 1000 of FIG. 10a to change the pressure of a fluidic actuator 130 or otherwise configure the fluidic actuator 130, actuator unit 110, or the like, as discussed herein.

In various embodiments, the methods discussed herein (e.g., methods 1000, 1001, 1100) can be applied to a single actuator unit 110 via a pneumatic system 520 controlled by an exoskeleton device 510. However, in further embodiments, such methods can be applied to any suitable plurality of actuator units 110 separately or in coordination with each other.

For example, in one embodiment, operational control software operates to generate torques in a dual-knee configuration, where an exoskeleton system 100 has a left and right actuator unit 110L, 110R, such that behavior of the exoskeleton system 100 can be coordinated across the left and right actuator units 110L, 110R. For example, an exoskeleton device 510 can determine how to actuate the left actuator unit 110L based on the configuration of the right actuator unit 110R and can determine how to actuate the right actuator unit 110R based on the configuration of the left actuator unit 110L.

In one example embodiment, the operational control software executed by an exoskeleton device 510 coordinates the behavior of the leg actuator units 110 to direct system torque towards the leg 102 of the user 101 with the higher usage of the user's quadricep muscle, which in some examples can be determined based on the configuration of one or both of the leg actuator units 110. In such a case, the system may operate independent of a spring model, but can be driven by an algorithm that takes into account anticipated muscle usage across both legs 102 of the user 101.

For example, when going up a stair, a stance leg of a user can remain weight bearing and can remain in need of assistance from its leg actuator unit 110 throughout the point of initial contact of the opposite leg which may be in swing up to a higher stair. The swing leg may not need assistance from its leg actuator unit 110 until the swing leg has made contact with the ground on the higher stair, in which case the swing leg may the benefit from added assistance from its leg actuator unit 110 as the user transfers weight to the leading leg on the higher step. At the same time, the trailing stance leg can transition from high assistance from its leg actuator unit 110 to no assistance from its leg actuator unit 110 at the start of its swing phase.

Accordingly, in some embodiments an exoskeleton device 510 can determine that a user 101 wearing an exoskeleton device 100 is currently or is about to walk up one or more stairs based on data obtained from sensors 513 associated with one or more leg actuator units 110 and can set an intended or current maneuver state to “Stairs,” or “Up Stairs,” which can configure the exoskeleton device 510 to identify individual leg states such as a stance leg, swing leg, leading leg on higher step, trailing stance leg, and the like, which can affect the actuation of the leg identified with such a state and the opposite leg. Additionally, identification of an individual leg state of one leg can affect the identification of the individual leg state of the other leg.

In various embodiments, identifying that a left leg actuator unit 110L is, or is about to be a stance leg can be used to determine that a right leg actuator 110R is, or is about to be, a swing leg. Similarly, determining that the right leg actuator 110R is, or is about to be a swing leg can be used to determine that the left leg actuator 110L is a stance leg. For example, being in a “Stair” or “Up Stair” intended or current maneuver state can implement rules that both legs cannot be a swing leg at the same time, and if the right leg actuator 110R is, or is about to be a swing leg, then the left leg actuator 110L cannot be or is not about to be a swing leg, which can be used to determine that the left leg actuator 110L is a stance leg. The left and right leg actuator units 110L, 110R can be actuated accordingly based on identified intended or current individual leg states.

For example, FIG. 11b illustrates an embodiment of a method 1101 of generating coordinated reference targets for first and second leg actuator units 110. The method 1101 begins at 1140 where sensor data associated with a first and second leg actuator unit 110 (e.g., a left and right leg actuator unit 110L, 110R) is obtained (e.g., at an exoskeleton device 510). At 1150, a configuration of the first and second actuator units 110 is determined (e.g., joint angle, actuator pressure, or the like), and at 1160, individual leg states of the first and second leg actuator units 110 are determined based at least in part on the sensor data associated with the first and second leg actuator units 110 and a set maneuver state (e.g., a maneuver state identified by the method 1001 of FIG. 10b ). At 1170, coordinated reference targets for the first and second actuator units 110 are generated based on the determined individual leg states of the first and second actuator units 110 and the set maneuver state. The method 1101 then cycles back to 1140 where sensor data associated with a first and second leg actuator unit 110 is obtained to generate further coordinated reference targets for the first and second actuator units 110.

In another embodiment, operational control software executed by the exoskeleton device 510 can evaluate the balance of the user 101 based on data from one or more sensors 513 (e.g., at one or more leg actuator units 110 or other location of the exoskeleton system 100) and can direct torque in such a way to encourage the user to remain balanced by directing assistance to the leg that is on the outside of the user's current base of support. Various embodiments can use, but are not limited to, one or more of: kinematic estimates of posture, joint kinetic profile estimates, as well as observed estimates of body pose, and the like.

Various other embodiments exist for methods to coordinate the reference generation and these methods are not restricted to two joint applications (e.g., an exoskeleton system 100 having a left and right leg actuator unit 110L, 110R) and can extend to apply to single joint configurations or configurations having more than two actuator units 110 and or actuators 130. For example, in some embodiments, data from sensors 513 associated with a single actuator unit 110 on a first leg of a user can be used to infer, determine or identify the configuration of the second leg of the user, which does not have an actuator unit 110. In some embodiments, a user can have an actuator unit 110 coupled to a first leg without an actuator unit 110 couple to the second leg; however, a set of one or more sensors can be associated with or coupled to the second leg, which can be used to determine or infer the configuration of the second leg, which can be used to determine how to actuate the actuator unit 110 on the first leg, which in some examples can go along with sensor data from sensors on actuator unit 110 on the first leg.

It should also be noted that yet another embodiment can include a combination of various individual reference generation methods in a variety of matters which can include but are not limited to one or more of: a linear combination, a maneuver specific combination, or a non-linear combination. Additional embodiments can use, but are not limited to, detecting user muscle or neural activation by using surface or implantable electromyography, spectrography techniques including, but not limited to, ultrasound sensors, and surface or implantable electroencephalography.

For example, some embodiments can rely solely on data from sensors 513 of or associated with an exoskeleton to determine a configuration of one or more leg actuation units 110 or other parts of the exoskeleton device 100, which can be used to infer a pose, configuration or position of the body or parts of the body of a user. However, further embodiments can include data from sensors 513 that directly sense or determine a pose, configuration or position of the body or parts of the body of a user, including direct sensing of muscle tension, muscle length, muscle thickness, body joint angle, body center of gravity, and the like.

In some cases where operational control software executed by the exoskeleton device 510 is generating references through balancing various algorithmically generated references, it can be helpful to incorporate user preference to account for a variety of factors such as self-selected maneuver style, ability or skill. In such a scenario, numeric scaling factors can be used to combine or scale various parameters such as generated reference targets. In one embodiment, the user can provide input (e.g., via user interface 515) about the overall amount of torque desired for the operational control to scale the magnitude of the output torque reference up or down based on the requested input from the user. In another embodiment, operational control software can blend two primary reference generation techniques: for example, one reference focused on static assistance and one reference focused on leading the user into their upcoming behavior. In such case, the user can select how much predictive assistance they want in various embodiments. In one example, by indicating or setting a large amount of predictive assistance, the user can configure the exoskeleton system 100 to be very responsive, which may benefit a highly mobile operator moving in a dynamic setting. In another example, the user can indicate a desire for a low amount of predictive assistance, which can result in a much slower response from the exoskeleton system 100 that may be better tailored towards instances such as the user learning how to operate the exoskeleton system 100 or operating the exoskeleton system 100 in an environment with limited obstacles. Various embodiments can incorporate user intent in a variety of manners and the example embodiments presented above should not be interpreted as limiting in any way. Also, various embodiments can use user intent in a variety of manners including as a continuous unit, as a discrete setting with only a few indicated values, or as a combination of both continuous and discrete units.

In some cases, it can be desirable for specific maneuvers to have very unique device responses. These are scenarios that can be accounted for in various embodiments of the operational control software responsibilities described above; however, specific instances are benefited by itemizing particular example maneuvers. In one embodiment, operational control software includes maneuver detection capabilities to identify a fall or stumble event based at least in part on data from one or more sensors 513. For example, where a fall or stumble event is identified, the exoskeleton system 100 can then generate the desired response at one or more leg actuation units 110 to assist the user in regaining balance or minimize injury. In one such embodiment, in response to identifying a fall or stumble event, the exoskeleton system 100 generates a free reference where the one or more leg actuation units 110 work to maintain zero torque on the knee joint throughout the fall or stumble or as long as a fall or stumble event is identified as being present.

In another embodiment, operational control software executed by an exoskeleton device 510 can be configured to identify a walking maneuver. When the walking maneuver is identified, the operational control software can generate references to free the legs in an effort to provide no assistance but also not get in the user's way while walking. In one such embodiment, in response to identifying a walking maneuver, the exoskeleton system 100 generates a free reference where the one or more leg actuation units 110 work to maintain zero torque on the knee joint(s) throughout walking or as long as a walking event is identified as being present. In another embodiment, the operational control software can identify a reference of zero net torque but it is not accomplished directly through active control. In such an example case, it is possible for the exoskeleton system to leverage its own system mechanics and open a vent valve on an actuator 130 to induce a zero torque and zero impedance state in the system that does not require active control. More generally, many different intended references can be accomplished through a variety of system-specific control interfaces that does not limit the applicability of the methods described within this specification.

In some embodiments, operational control software executed by an exoskeleton device 510 can be configured to identify one or more phases of the walking gate of a user to provide assistance during stance but not swing, or extend the assistance provided by the exoskeleton system 100 to provide a benefit or support to the user while the user is going up or down a ramp or other slope. For example, in some embodiments, operating control software can be configured to identify a stance phase and swing phase of a walking cycle. In some embodiments, sub-phases of a walking cycle can be identified, such as stance: strike; stance: support; stance: toe-off; swing: leg lift; and swing: swing.

Additionally, in various embodiments, such phases and/or sub-phases can be identified including the identified role of the left and right legs 102L, 103R in the phases and/or sub-phases, which can be used to determine how to generate references for the exoskeleton system 100 to support walking, a walking phase, a walking sub-phase, and the like. A ground slope value can also be determined in various embodiments (e.g., based on data from sensors 513, or the like), and references for the exoskeleton system 100 can be generated based at least in part on such a determined ground slope value. For example, a determination can be made that a user 101 wearing an exoskeleton system 100 is walking on flat ground, up a slope, down a slope, and the like.

A slope angle, slope amount, slope magnitude, or the like, can be used to generate references for the exoskeleton system 100. For example, references for the exoskeleton system 100 may be tailored specifically and differently for a user walking up a steep slope, the user walking up a moderate slope, the user walking on flat ground, the user walking down a moderate slope, and the user walking down a steep slope. Similarly, references for the exoskeleton system 100 may be tailored specifically and differently for a user walking on a slope of −45°, −40°, −35°, −30°, −25°, −20°, −15°, −10°, −5°, 0°, 5°, 10°, 15°, 20°, 25°, 30°, 35°, 40°, 45° and the like. Similarly references for the exoskeleton system 100 may be tailored specifically and differently for a user walking on a slope within ranges of −45° to −25°; −25° to −5°; −5° to 5°; 5° to 25°; 25° to 45°, and the like.

In another embodiment, operational control software executed by an exoskeleton device 510 can be configured to identify a sustained standing behavior and provide extension assistance at the user's knees 103 to support the body of the user during extended standing. For example, a method of identifying and supporting extended standing can include monitoring for a standing event, and if a standing event is identified, the exoskeleton system 100 can provide standing support for the user at a first amount. For example, in some embodiments, the first amount can be no support, a small amount of support, a medium amount of support, or the like. The exoskeleton system 100 can determine whether the identified standing event has been ongoing for a threshold amount of time, and if so, the exoskeleton system 100 can provide standing support for the user at a second amount. For example, in some embodiments, the second amount can be a small amount of support, a medium amount of support, a large amount of support, or the like. In various embodiments, the second amount of standing support can be greater than the first amount of standing support. Such standing support can be provided in various examples, until terminated by the user, until a new maneuver state is identified (e.g., the user is identified as beginning to walk), or the like. Settings such as a threshold time for providing additional standing support or amount of standing support for the first and second amount can be a default amount or can be set by a user, administrator, or the like (e.g., via an interface 515, or the like).

In another embodiment, operational control software executed by an exoskeleton device 510 can be configured to identify the user's initiation of a jump maneuver and direct assistance toward the planted leg or legs during the identified jump maneuver. In an example of such a case, the exoskeleton system 100 can have a predetermined understanding of the phases or sub-phases that can occur during a jump maneuver, which can include a flight phase, where the user may be benefited from little to no assistance on the legs 102 of the user from the exoskeleton system 100, and then a landing phase where the user may be benefited from large amounts of dissipative mechanical power available when the user contacts the ground again. In such a case, for example, it can be beneficial to pre-charge (e.g., pressurize) actuator(s) 130 of one or more leg actuation units 110 in preparation for landing as the maneuver dynamics of landing behaviors can be very fast. Various embodiments can include any one of, none of, all of, or more than these maneuvers as required by the specific application.

One embodiment of a method of generating references for a jump maneuver can include an exoskeleton device 510 monitoring data obtained from one or more sensors 513 for a jump maneuver about to occur or a jump maneuver occurring, and if such a state is identified, the exoskeleton device 510 can generate references for one or more leg actuation units 110 to support the user during the jump maneuver, including during and after landing. In some embodiments, one or more sub-phases of a jump maneuver can be identified such as, preparation, launch, flight, landing preparation, landing, post-landing balance, post landing transition to next maneuver, crash landing preparation, crash landing, post-crash landing, and the like. In various embodiments, the exoskeleton device 510 can generate references for one or more leg actuation units 110, which may be tailored specifically and differently based at least in part on such one or more identified sub-phases of a jump maneuver.

In various embodiments, it can be beneficial for operational control software executed by an exoskeleton device 510 to manipulate control of one or more leg actuation units 110 to account for a secondary objective in order to maximize performance of the exoskeleton system 100 or user experience. In one embodiment, operational control software that controls a pneumatic system 520 can provide an elevation-aware and/or air-density control over one or more air compressor to account for the changing density of air at different elevations.

For example, operational control software can identify that the exoskeleton system 100 is operating at a high elevation or within high elevation range and provide more current to the compressor in order to maintain electrical power consumed by the compressor. Determining elevation and/or air density can be based on various data (e.g., obtained from sensors 513) such as GPS location data, which can include or correspond to an elevation or elevation range, an indication by a user such as via an interface 515, an altimeter, an air density sensor, and the like.

In another embodiment, the exoskeleton system 100 can monitor ambient audible noise levels and vary control behavior of the exoskeleton system 100 to reduce the noise profile of the exoskeleton system 100 when instructed to do so by the user or when advantageous or desirable based on the surrounding environment, or other factors. For example, it may be desirable to minimize noise generated by the pneumatic system 520, leg actuator units 110, or the like, in situations where such noise would be intrusive, undesirable or dangerous for the user 101 or others around the user (e.g., when the user is operating the exoskeleton system 100 in a quiet indoor or outdoor environment where undue noise would be inappropriate or intrusive for others or the environment or annoying to the user; in an environment where noise would be disruptive to conversations; during a tactical mission where stealth is important, or the like).

In some embodiments, a determination to minimize noise output by the exoskeleton system 100 can be based on location (e.g., determined by GPS), user input (e.g., via an interface 515), a microphone, or the like. In some embodiments, such a determination can be made based on audio data, including a decibel level, voice recognition, ambient noise identification, and the like. In some embodiments, noise output by the exoskeleton system 100 can be associated with performance of the exoskeleton system 100. For example, the exoskeleton system 100 or user can have a “high-performance mode” that provides maximum performance regardless of noise output and can have a “quiet mode” that minimizes noise output, which in some examples can be at the sacrifice of performance of the exoskeleton system 100.

In another embodiment, it may be beneficial to generate a significant amount of noise from the exoskeleton system for locating in a visibility denied environment or distracting external entities, or if multiple compressors (e.g., of a pneumatic system 520) with in-phase audio signals are used the noise can be additive. In such a case it can be possible to control the compressor system to maximize the system's audible signature when desired, or to generate a specific audio output such as an audio pattern, Morse code, or other audio signal that may be perceived as a communication. In various embodiments, such audio output can be a default or defined by a user or administrator.

In the example case of a modular exoskeleton system 100 where one or more leg actuation units 110 can be coupled to and actuated by the exoskeleton system 100, it can be desirable in some embodiments for operational control software executed by an exoskeleton device 510 to operate based on a determination of a number and identity of one or more actuation units 110 coupled with and operational within the exoskeleton system 100. In one embodiment of a modular dual-knee exoskeleton system 100 that can also operate in a single knee configuration (e.g., a system that can operate with one or both of a left and right leg actuation unit 110L, 110R), operational control software executed by an exoskeleton device 510 can generate references for the exoskeleton system 100 differently when in a two-leg configuration and when in a single-leg configuration. Specifically, such an embodiment may use a coordinated control approach to generate references where the exoskeleton system 100 is using inputs from both legs to determine the desired operation; however, in a single-leg configuration, the available sensor information can change (e.g., sensors 513 associated with and/or disposed on a second actuation unit 110 may be absent or disabled) so the exoskeleton system 100 can implement a different strategy based on the available sensor data. In various embodiments, this can be done to maximize the performance of the exoskeleton system 100 for the given configuration or to account for variations in available sensor information.

In one example method of operating a modular exoskeleton system 100, an exoskeleton device 510 can monitor for actuator units 110 being coupled to or removed from the modular exoskeleton system 100. For example, as discussed herein, in various embodiments one or more actuator units 110 can be operably coupled to an exoskeleton system 100 via one or more lines 145, which can include fluidic lines, communication lines, sensor lines, power lines, and the like. The exoskeleton device 510, in some embodiments, can determine whether one or more actuator units 110 are operably coupled to the exoskeleton system 100 based on data, information, or a status associated with such lines, based on user input, wireless communication (e.g., Bluetooth, NFC, RFID), or the like.

Returning to the example method of operating a modular exoskeleton system 100, the exoskeleton device 510 can determine that a new actuator unit 110 has been coupled with the exoskeleton system 100 and the exoskeleton device 510 can determine a location where the new actuator unit 110 is coupled on the body of the user 101. In some examples, the exoskeleton device 510 can be configured to determine an identity of an actuator unit 110 such as a serial number, MAC address, model number, or the like, based on a operable connection with the actuator unit 110, user input, or the like. In some examples, the exoskeleton device 510 can be configured to determine a location where a given actuator unit 110 is coupled on the body of a user (e.g., left leg, right leg, left arm, right arm, torso, neck, and the like), based on a determined identity of the actuator unit 110, based on a coupling slot that the actuator unit 110 is plugged into, based on user selection, or the like.

Returning to the example method of operating a modular exoskeleton system 100, the exoskeleton device 510 can determine and set an operating configuration based on a current set of actuator units 110 coupled to the exoskeleton system 100. For example, where a determination is made that a right and left leg actuator 110R, 110L with actuators 130R, 130L only on respective knees 103R, 103L are coupled to the exoskeleton system 100, the exoskeleton device 510 can determine and set a dual-knee operating configuration. However, if a determination is made that only a left leg actuator 110L, with only an actuator 130L associated with the left knee 103L, is coupled to the exoskeleton system 100, the exoskeleton device 510 can determine and set a single-left-knee operating configuration.

Returning to the example method of operating a modular exoskeleton system 100, the exoskeleton device 510 can determine that an actuator unit 110 has been removed from the exoskeleton system 100 and the exoskeleton device 510 can then determine and set an operating configuration. For example, if an exoskeleton is operating in a dual-knee operating configuration with a left and right leg actuator 110L, 110R and then the left leg actuator 110L is removed, the exoskeleton device 510 can identify the removal of the left leg actuator 110L and switch to operating in a single-right-knee operating configuration.

While various examples herein relate to embodiments that can include one or two leg actuator units 110L, 110R with actuators 130L, 130R at the knees 103L, 103R, it should be clear that the methods discuss herein can be used in embodiments with any suitable plurality of actuator units 110 on any suitable portion of the body with one or more actuators 130 configured to actuate any suitable body joint of a user. Accordingly, the example embodiments herein should not be construed as being limiting.

Another novel consideration in some examples of operational control software is if the user needs are different between individual joints or legs. In such a scenario, it may be beneficial for the exoskeleton system 100 to change the torque references generated for each leg actuator unit 110L, 110R to tailor the experience for the user. One example embodiment is that of a dual-knee exoskeleton configuration where a user has significant pain issues in a single leg, but not in the other leg. In such a case, the exoskeleton system 100 can include the ability for the exoskeleton system 100 to scale down the output torques on the unaffected limb to best meet the needs of the user.

Accordingly, in some embodiments, generating references can be based on differential needs of different legs of a user, which in some examples can include generating references for a left and right actuator unit 110L, 110R and scaling down the references for one of the legs. For example, where a user has a weak left leg 102L and a fully capable right leg 102R, the exoskeleton system 100 can generate references for a left and right actuator unit 110L, 110R (e.g., via one or both of methods 1100, 1101), and can reduce the references for the right leg actuator unit 110R by 50% so that the weaker left leg 102L receives 100% references and the stronger right leg 102R receive reduced 50% references.

Another aspect of operational control software can be to identify geolocation-based triggers for different behavior of the exoskeleton system 100. In one embodiment, the exoskeleton system 100 can monitor the location of where the exoskeleton device 100 is operating, and that information to determine the likelihood of different maneuver transitions. For example, if a user is at her house, and the house is a single story building and the exoskeleton system has never seen a successful stair transition, it is unlikely that a potential transition observed by the exoskeleton device 100 is actually a “stairs” transition. In other words, where the house location is known to not have stairs or where the exoskeleton system 100 has never observed a “stairs” transition, it can be substantially less likely that the exoskeleton system 100 will need to identify and perform a “stairs” transition. Accordingly, in some examples, a method of identifying an intended or current maneuver state (see, e.g., the method 1001 of FIG. 10b ), can be tuned based on location to make identification of a “stairs” intended or current maneuver weighted to be less likely while in that house location.

For example, GPS data or an indication by a user (e.g., an “at home” setting) can be used to identify a location of the exoskeleton device 100. In some examples, the exoskeleton device 100 can be configured to learn over time what maneuver states are likely, less likely or impossible in certain locations and can tune maneuver state identification based on such learning. In some examples, a user or administrator can define characteristics of various locations, which can be used to configure maneuver state identification methods. For example a user can define a park area as having only flat terrain with pavement, grass and dirt portions; a user can define a working location as not having any stairs, but having a ramp at an entryway with carpet and concrete surfaces in the building; a user can define a hiking trail as having slopes from +/−15 degree slopes with terrain of rocks and/or dirt.

In some examples, certain maneuver states can be listed or categorized as being impossible in certain locations, for example in the one-story house example above, the exoskeleton system 100 can use the geolocated information to identify a potential stair trigger as a fault and not send the user into an incorrect maneuver. Various embodiments can use this capability in a variety of methods which can include but are not limited to the discrete identification of specific geolocated indicators, or the continuous monitoring of geolocated triggers with the ability to manipulate performance as the user is using the device.

FIG. 12a illustrates a cross-sectional view of a pneumatic actuator unit 110 including bellows actuator 130 in accordance with another embodiment and FIG. 12b illustrates a side view of the pneumatic actuator unit 110 of FIG. 12a in an expanded configuration showing the cross section of FIG. 12a . As shown in FIG. 12a , the bellows actuator 130 can comprise an internal first layer 132 that defines the bellows cavity 131 and can comprise an outer second layer 133 with a third layer 134 disposed between the first and second layers 132, 133. Throughout this description, the use of the term “layer” to describe the construction of the bellows actuator 130 should not be viewed as limiting to the design. The use of ‘layer’ can refer to a variety of designs including but not limited to: a planar material sheet, a wet film, a dry film, a rubberized coating, a co-molded structure, and the like.

In some examples, the internal first layer 132 can comprise a material that is impermeable or semi-permeable to the actuator fluid (e.g., air) and the external second layer 133 can comprise an inextensible material as discussed herein. For example, as discussed herein, an impermeable layer can refer to an impermeable or semi-permeable layer and an inextensible layer can refer to an inextensible or a practically inextensible layer.

In some embodiments comprising two or more layers, the internal layer 132 can be slightly oversized compared to an inextensible outer second layer 133 such that the internal forces can be transferred to the high-strength inextensible outer second layer 133. One embodiment comprises a bellows actuator 130 with an impermeable polyurethane polymer film inner first layer 132 and a woven nylon braid as the outer second layer 133.

The bellows actuator 130 can be constructed in various suitable ways in further embodiments, which can include a single-layer design that is constructed of a material that provides both fluid impermeability and that is sufficiently inextensible. Other examples can include a complex bellows assembly that comprises multiple laminated layers that are fixed together into a single structure. In some examples, it can be necessary to limit the deflated stack height of the bellows actuator 130 to maximize the range of motion of the leg actuator unit 110. In such an example, it can be desirable to select a low-thickness fabric that meets the other performance needs of the bellows actuator 130.

In yet another embodiment, it can be desirable to reduce friction between the various layers of the bellows actuator 130. In one embodiment, this can include the integration of a third layer 134 that acts as an anti-abrasive and/or low friction intermediate layer between the first and second layers 132, 133. Other embodiments can reduce the friction between the first and second layers 132, 133 in alternative or additional ways, including but not limited to the use of a wet lubricant, a dry lubricant, or multiple layers of low friction material. Accordingly, while the example of FIG. 12a illustrates an example of a bellows actuator 130 comprising three layers 132, 133, 134, further embodiments can include a bellows actuator 130 having any suitable number of layers, including one, two, three, four, five, ten, fifteen, twenty five, and the like. Such one or more layers can be coupled along adjoining faces in part or in whole, with some examples defining one or more cavities between layers. In such examples, material such as lubricants or other suitable fluids can be disposed in such cavities or such cavities can be effectively empty. Additionally, as described herein, one or more layers (e.g., the third layer 134) need not be a sheet or planar material layer as shown in some examples and can instead comprise a layer defined by a fluid. For example, in some embodiments, the third layer 134 can be defined by a wet lubricant, a dry lubricant, or the like.

The inflated shape of the bellows actuator 130 can be important to the operation of the bellows actuator 130 and/or leg actuator unit 110 in some embodiments. For example, the inflated shape of the bellows actuator 130 can be affected through the design of both an impermeable and inextensible portion of the bellows actuator 130 (e.g., the first and second layer 132, 133). In various embodiments, it can be desirable to construct one or more of the layers 132, 133, 134 of the bellows actuator 130 out of various two-dimensional panels that may not be intuitive in a deflated configuration.

In some embodiments, one or more impermeable layers can be disposed within the bellows cavity 131 and/or the bellows actuator 130 can comprise a material that is capable of holding a desired fluid (e.g., a fluid impermeable first internal layer 132 as discussed herein). The bellows actuator 130 can comprise a flexible, elastic, or deformable material that is operable to expand and contract when the bellows actuator 130 are inflated or deflated as described herein. In some embodiments, the bellows actuator 130 can be biased toward a deflated configuration such that the bellows actuator 130 is elastic and tends to return to the deflated configuration when not inflated. Additionally, although bellows actuator 130 shown herein are configured to expand and/or extend when inflated with fluid, in some embodiments, bellows actuator 130 can be configured to shorten and/or retract when inflated with fluid in some examples. Also, the term “bellows” as used herein should not be construed to be limiting in any way. For example the term “bellows” as used herein should not be construed to require elements such as convolutions or other such features (although convoluted bellows actuator 130 can be present in some embodiments). As discussed herein, bellows actuator 130 can take on various suitable shapes, sizes, proportions and the like.

The bellows actuator 130 can vary significantly across various embodiments, so the present examples should not be construed to be limiting. One preferred embodiment of a bellows actuator 130 includes fabric-based pneumatic actuator configured such that it provides knee extension torque as discussed herein. Variants of this embodiment can exist to tailor the actuator to provide the desired performance characteristics of the actuators such as a fabric actuator that is not of a uniform cross-section. Other embodiments can use an electro-mechanical actuator configured to provide flexion and extension torques at the knee instead of or in addition to a fluidic bellows actuator 130. Various embodiments can include but are not limited to designs that incorporate combinations of electromechanical, hydraulic, pneumatic, electro-magnetic, or electro-static for positive power or negative power assistance of extension or flexion of a lower extremity joint.

The actuator bellows actuator 130 can also be located in a variety of locations as required by the specific design. One embodiment places the bellows actuator 130 of a powered knee brace component located in line with the axis of the knee joint and positioned parallel to the joint itself. Various embodiments include but are not limited to, actuators configured in series with the joint, actuators configured anterior to the joint, and actuators configured to rest around the joint.

Various embodiments of the bellows actuator 130 can include secondary features that augment the operation of the actuation. One such embodiment is the inclusion of user-adjustable mechanical hard end stops to limit the allowable range of motion to the bellows actuator 130. Various embodiments can include but are not limited to the following extension features: the inclusion of flexible end stops, the inclusion of an electromechanical brake, the inclusion of an electro-magnetic brake, the inclusion of a magnetic brake, the inclusion of a mechanical disengage switch to mechanically decouple the joint from the actuator, or the inclusion of a quick release to allow for quick changing of actuator components.

In various embodiments, the bellows actuator 130 can comprise a bellows and/or bellows system as described in related U.S. patent application Ser. No. 14/064,071 filed Oct. 25, 2013, which issued as U.S. Pat. No. 9,821,475; as described in U.S. patent application Ser. No. 14/064,072 filed Oct. 25, 2013; as described in U.S. patent application Ser. No. 15/823,523 filed Nov. 27, 2017; or as described in U.S. patent application Ser. No. 15/472,740 filed Mar. 29, 2017.

In some applications, the design of the fluidic actuator unit 110 can be adjusted to expand its capabilities. One example of such a modification can be made to tailor the torque profile of a rotary configuration of the fluidic actuator unit 110 such that the torque changes as a function of the angle of the joint structure 125. To accomplish this in some examples, the cross-section of the bellows actuator 130 can be manipulated to enforce a desired torque profile of the overall fluidic actuator unit 110. In one embodiment, the diameter of the bellows actuator 130 can be reduced at a longitudinal center of the bellows actuator 130 to reduce the overall force capabilities at the full extension of the bellows actuator 130. In yet another embodiment, the cross-sectional areas of the bellows actuator 130 can be modified to induce a desired buckling behavior such that the bellows actuator 130 does not get into an undesirable configuration. In an example embodiment, the end configurations of the bellows actuator 130 of a rotary configuration can have the area of the ends reduced slightly from the nominal diameter to provide for the end portions of the bellows actuator 130 to buckle under loading until the actuator unit 110 extends beyond a predetermined joint angle, at which point the smaller diameter end portion of the bellows actuator 130 would begin to inflate.

In other embodiments, this same capability can be developed by modifying the behavior of the constraining ribs 135. As an example embodiment, using the same example bellows actuator 130 as discussed in the previous embodiment, two constraining ribs 135 can fixed to such bellows actuator 130 at evenly distributed locations along the length of the bellows actuator 130. In some examples, a goal of resisting a partially inflated buckling can be combated by allowing the bellows actuator 130 to close in a controlled manner as the actuator unit 110 closes. The constraining ribs 135 can be allowed to get closer to the joint structure 125 but not closer to each other until they have bottomed out against the joint structure 125. This can allow the center portion of the bellows actuator 130 to remain in a fully inflated state which can be the strongest configuration of the bellows actuator 130 in some examples.

In further embodiments, it can be desirable to optimize the fiber angle of the individual braid or weave of the bellows actuator 130 in order to tailor specific performance characteristics of the bellows actuator 130 (e.g., in an example where a bellows actuator 130 includes inextensibility provided by a braided or woven fabric). In other embodiments, the geometry of the bellows actuator 130 of the actuator unit 110 can be manipulated to allow the robotic exoskeleton system 100 to operate with different characteristics. Example methods for such modification can include but are not limited to the following: the use of smart materials on the bellows actuator 130 to manipulate the mechanical behavior of the bellows actuator 130 on command; or the mechanical modification of the geometry of the bellows actuator 130 through means such as shortening the operating length and/or reducing the cross sectional area of the bellows actuator 130.

In further examples, a fluidic actuator unit 110 can comprise a single bellows actuator 130 or a combination of multiple bellows actuator 130, each with its own composition, structure, and geometry. For example, some embodiments can include multiple bellows actuator 130 disposed in parallel or concentrically on the same joint assembly 125 that can be engaged as needed. In one example embodiment, a joint assembly 125 can be configured to have two bellows actuator 130 disposed in parallel directly next to each other. The exoskeleton system 100 can selectively choose to engage each bellows actuator 130 as needed to allow for various amounts of force to be output by the same fluidic actuator unit 110 in a desirable mechanical configuration.

In further embodiments, a fluidic actuator unit 110 can include various suitable sensors to measure mechanical properties of the bellows actuator 130 or other portions of the fluidic actuator unit 110 that can be used to directly or indirectly estimate pressure, force, or strain in the bellows actuator 130 or other portions of the fluidic actuator unit 110. In some examples, sensors located at the fluidic actuator unit 110 can be desirable due to the difficulty in some embodiments associated with the integration of certain sensors into a desirable mechanical configuration while others may be more suitable. Such sensors at the fluidic actuator unit 110 can be operably connected to the exoskeleton device 610 (see FIG. 5) and the exoskeleton device 610 can use data from such sensors at the fluidic actuator unit 110 to control the exoskeleton system 100.

As discussed herein, various suitable exoskeleton systems 100 can be used in various suitable ways and for various suitable applications. However, such examples should not be construed to be limiting on the wide variety of exoskeleton systems 100 or portions thereof that are within the scope and spirit of the present disclosure. Accordingly, exoskeleton systems 100 that are more or less complex than the examples of FIGS. 1-5 are within the scope of the present disclosure.

Additionally, while various examples relate to an exoskeleton system 100 associated with the legs or lower body of a user, further examples can be related to any suitable portion of a user body including the torso, arms, head, legs, or the like. Also, while various examples relate to exoskeletons, it should be clear that the present disclosure can be applied to other similar types of technology, including prosthetics, body implants, robots, or the like. Further, while some examples can relate to human users, other examples can relate to animal users, robot users, various forms of machinery, or the like.

The described embodiments are susceptible to various modifications and alternative forms, and specific examples thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the described embodiments are not to be limited to the particular forms or methods disclosed, but to the contrary, the present disclosure is to cover all modifications, equivalents, and alternatives. Additionally, elements of a given embodiment should not be construed to be applicable to only that example embodiment and therefore elements of one example embodiment can be applicable to other embodiments. Additionally, elements that are specifically shown in example embodiments should be construed to cover embodiments that comprise, consist essentially of, or consist of such elements, or such elements can be explicitly absent from further embodiments. Accordingly, the recitation of an element being present in one example should be construed to support some embodiments where such an element is explicitly absent. 

What is claimed is:
 1. A method of operating an exoskeleton system, the method comprising: obtaining, at an exoskeleton device, a set of sensor data from at least sensors associated with a left and right leg actuator unit respectively coupled to a left and right leg of a user, the left and right leg actuator units each including: an upper arm and a lower arm that are rotatably coupled via a joint, the joint positioned at a knee of the user with the upper arm coupled about an upper leg portion of the user above the knee and with the lower arm coupled about a lower leg portion of the user below the knee, and a fluidic bellows actuator that extends between the upper arm and lower arm; determining, by the exoskeleton device, an intended maneuver state of the user based at least in part on the set of sensor data; determining, by the exoskeleton device, a configuration of the left and right leg actuator units based at least in part on the set of sensor data; determining, by the exoskeleton device, a left individual leg state for the left leg actuator unit based at least in part on the set of sensor data and the determined intended maneuver of the user; determining, by the exoskeleton device, a right individual leg state for the right leg actuator unit based at least in part on the set of sensor data and the determined intended maneuver of the user; generating, by the exoskeleton device, coordinated reference targets for the left and right leg actuator units based at least in part on the determined left and right individual leg states of the left and right leg actuator units and based at least in part on the determined intended maneuver state; determining, by the exoskeleton device, that the left leg actuator unit is outside of a generated reference target for the left leg actuator unit; causing, by the exoskeleton device, in response to determining that the left leg actuator unit is outside of the generated reference target for the left leg actuator unit, a pneumatic system to change or maintain a fluidic pressure associated with the fluidic bellows actuator of the left leg actuator unit, to cause the left leg actuator unit to be within the generated reference target for the left leg actuator unit; determining, by the exoskeleton device, that the right leg actuator unit is outside of a generated reference target for the right leg actuator unit; and causing, by the exoskeleton device, in response to determining that the right leg actuator unit is outside of the generated reference target for the right leg actuator unit, the pneumatic system to change or maintain a fluidic pressure associated with the fluidic bellows actuator of the right leg actuator unit, to cause the right leg actuator unit to be within the generated reference target for the right leg actuator unit.
 2. The method of operating an exoskeleton system of claim 1, wherein generating coordinated reference targets for the left and right leg actuator units is further based at least in part on a user-selected maneuver style setting, ability setting, desired assistance setting, or skill setting, and wherein generating the coordinated reference targets for the left and right leg actuator units includes scaling a magnitude of the coordinated reference targets for the left and right leg actuator units up or down based on the user-selected maneuver style setting, ability setting, desired assistance setting, or skill setting.
 3. The method of operating an exoskeleton system of claim 1, wherein determining the intended maneuver state includes identifying a walking maneuver based at least in part on the set of sensor data, and wherein, in response to identifying the walking maneuver, generating the coordinated reference targets for the left and right leg actuator units including generating free reference targets where the left and right leg actuator units are configured to work to maintain zero torque on the knees as long as the walking maneuver is identified as being present.
 4. The method of operating an exoskeleton system of claim 1, wherein determining the intended maneuver state includes identifying a walking maneuver based at least in part on the set of sensor data; and further comprising, in response to identifying the walking maneuver, identifying a plurality of phases of a walking gait of the user to provide assistance to a first leg of the user during a stance phase of the first leg.
 5. The method of operating an exoskeleton system of claim 1, further comprising determining a slope value associated with terrain that the exoskeleton system is on based at least in part on the set of sensor data, and wherein generating the coordinated reference targets for the left and right leg actuator units is further based at least in part on the determined slope value.
 6. The method of operating an exoskeleton system of claim 1, wherein determining the intended maneuver state includes: identifying a standing maneuver based at least in part on the set of sensor data, generating, in response to identifying the standing maneuver, a first set of coordinated reference targets for the left and right leg actuator units to provide a first level of standing support to the user; determining that the standing maneuver has lasted at least a threshold duration; and generating, in response determining that the standing maneuver has lasted at least the threshold duration, generating a second set of coordinated reference targets for the left and right leg actuator units to provide a second level of standing support to the user, which is greater than the first level of standing support.
 7. The method of operating an exoskeleton system of claim 1, wherein determining the intended maneuver state includes identifying a jump maneuver based at least in part on the set of sensor data, identifying a flight phase of the jump maneuver, and identifying a landing phase of the jump maneuver, and in response, generating coordinated reference targets for the left and right leg actuator units to provide landing support to the user contacting the ground after the flight phase.
 8. The method of operating an exoskeleton system of claim 1, wherein determining the intended maneuver state includes identifying a fall or stumble event based at least in part on the set of sensor data, and wherein, in response to identifying the fall or stumble event, generating the coordinated reference targets for the left and right leg actuator units includes generating free reference targets where the left and right leg actuator units are configured to work to maintain zero torque at the left and right leg actuator units as long as a fall or stumble event is identified as being present.
 9. The method of operating an exoskeleton system of claim 1, further comprising receiving an indication of differential needs of the left and right legs of the user, and wherein generating the coordinated reference targets for the left and right leg actuator units includes scaling reference targets for one of the left and right leg actuator units based at least in part on the indicated differential needs of the left and right legs of the user.
 10. A method of operating an exoskeleton system, the method comprising: obtaining a set of sensor data from at least sensors associated with one or more actuator units respectively coupled to a user; determining a maneuver state based at least in part on the set of sensor data; determining a configuration of the one or more actuator units based at least in part on the set of sensor data; generating one or more reference targets for the one or more actuator units based at least in part on the determined maneuver state; determining that the one or more actuator units is outside of a generated reference target one or more actuator units; and causing, in response to determining that the one or more actuator units is outside of the generated reference target for the one or more actuator units, the one or more actuator units to be configured to be within the generated reference target for the one or more actuator units.
 11. The method of operating an exoskeleton system of claim 10, wherein generating the one or more reference targets for the one or more actuator units is further based at least in part on a user-selected maneuver style setting, ability setting, desired assistance setting, or skill setting, and wherein generating the one or more reference targets for the one or more actuator units includes scaling a magnitude of the one or more reference targets for the one or more actuator units based on the user-selected maneuver style setting, ability setting, desired assistance setting, or skill setting.
 12. The method of operating an exoskeleton system of claim 10, wherein determining the maneuver state includes identifying a walking or running maneuver based at least in part on the set of sensor data, and wherein, in response to identifying the walking or running maneuver, generating the one or more reference targets for the one or more actuator units including generating one or more reference targets that cause the one or more actuator units to work to maintain zero torque at the actuator as long as the walking or running maneuver is identified as being present.
 13. The method of operating an exoskeleton system of claim 10, wherein determining the maneuver state includes identifying a walking or running maneuver based at least in part on the set of sensor data; and further comprising, in response to identifying the walking or running maneuver, identifying a plurality of phases of a walking gait of the user including a stance phase and a swing phase.
 14. The method of operating an exoskeleton system of claim 10, further comprising determining a slope value associated with terrain that the exoskeleton system is on, the determining based at least in part on the set of sensor data, and wherein generating the one or more reference targets for the one or more actuator units is further based at least in part on the determined slope value.
 15. The method of operating an exoskeleton system of claim 10, wherein determining the maneuver state includes: identifying a first maneuver based at least in part on the set of sensor data, generating, in response to identifying the first maneuver, a first set of one or more reference targets for the one or more actuator units to provide a first level of maneuver support to the user; determining that the first maneuver has lasted at least a threshold duration; and generating, in response determining that the first maneuver has lasted at least the threshold duration, generating a second set of one or more reference targets for the one or more actuator units to provide a second level of maneuver support to the user, which is greater, or less than the first level of maneuver support.
 16. The method of operating an exoskeleton system of claim 10, wherein determining the maneuver state includes identifying a jump maneuver based at least in part on the set of sensor data, and further including: identifying a flight phase of the jump maneuver, and identifying a landing phase of the jump maneuver.
 17. The method of operating an exoskeleton system of claim 10, wherein determining the maneuver state includes identifying a fall or stumble event based at least in part on the set of sensor data, and wherein, in response to identifying the fall or stumble event, generating the one or more reference targets for the one or more actuator units includes generating one or more reference targets that configure the one or more actuator units to work to maintain zero torque on the one or more actuator units for a duration of the fall or stumble event.
 18. The method of operating an exoskeleton system of claim 10, further comprising receiving an indication of differential needs of the user at the locations of one or more actuator units being worn by the user, and wherein generating the one or more reference targets for the one or more actuator units includes scaling reference targets for at least one of a first and second actuator unit based at least in part on the indicated differential needs at the locations of the first and second actuator units being worn by the user. 